"Hi, Amigo."

"Uy, Rishi."

"Sinabi sa akin ni Ellie na gusto mo ng higit pang mga halimbawa ng mga koleksyon. Bibigyan kita ng ilan. Narito ang isang listahan ng mga koleksyon at mga interface:"

Interface Klase/pagpapatupad Paglalarawan
Listahan  ArrayList  Listahan
 LinkedList  Listahan
 Vector  Vector
 salansan  salansan
 Itakda    HashSet  Itakda
 TreeSet  Itakda
 SortedSet  Pinagsunod-sunod na set
Mapa  HashMap Mapa/diksyonaryo
 TreeMap  Mapa/diksyonaryo
 SortedMap  Pinagsunod-sunod na diksyunaryo
 Hashtable  Hash-table

"Hmm. Medyo marami iyon. Apat na listahan, tatlong set, at apat na mapa."

"Oo, lahat sila ay magkakaibang pagpapatupad ng mga interface ng Listahan, Set at Map."

"Ano ang pagkakaiba sa pagitan ng mga pagpapatupad na ito?"

"Yun naman talaga ang pag-uusapan natin ngayon. Pagpasensyahan mo na lang."

"May iba ka pa bang tanong?"

" Alam ko kung paano magpakita ng listahan sa screen. Paano ako magpapakita ng Set o Map?"

"Ang mga elemento ng isang Listahan ay may isang nakatakdang pagkakasunud-sunod, kaya maaari ka lamang gumamit ng isang index upang ipakita ang mga ito. Para sa isang Set o Mapa, walang tiyak na pagkakasunud-sunod. Sa katunayan, ang pagkakasunud-sunod ng kanilang mga elemento ay maaaring magbago habang ang mga item ay tinanggal o bago idinagdag ang mga item."

"Nakakamangha."

"Ito ang dahilan kung bakit naimbento ang mga espesyal na bagay, na tinatawag na mga iterator , upang gumana sa mga elemento ng koleksyon. Hinahayaan ka nitong suriin ang lahat ng elemento sa isang koleksyon, kahit na mayroon lamang silang mga pangalan sa halip na mga indeks (Map), o walang pangalan o indeks ( Itakda)."

"Narito ang ilang mga halimbawa:"

Ipakita ang mga elemento ng isang Set
public static void main(String[] args)
{
    Set&ltString> set = new HashSet&ltString>();
    set.add("Rain");
    set.add("In");
    set.add("Spain");

     // Get an iterator for the set
     Iterator&ltString> iterator = set.iterator();

    while (iterator.hasNext())        // Check if there is another element
    {
       // Get the current element and move to the next one
       String text = iterator.next();

        System.out.println(text);
    }
}
2
Gawain
Java Syntax,  antasaralin
Naka-lock
Code entry
Sometimes you don't need to think, you just need to hammer it out! As paradoxical as it may seem, sometimes your fingers will "remember" better than your conscious mind. That's why while training at the secret CodeGym center you will sometimes encounter tasks that require you to enter code. By entering code, you get used to the syntax and earn a little dark matter. What's more, you combat laziness.
Ipakita ang mga elemento ng isang Listahan
public static void main(String[] args)
{
    List&ltString> list = new ArrayList&ltString>();
    list.add("Rain");
    list.add("In");
    list.add("Spain");

    Iterator&ltString> iterator = list.iterator();// Get an iterator for the list

    while (iterator.hasNext())      // Check if there is another element
    {
        // Get the current element and move to the next one
        String text = iterator.next();

        System.out.println(text);
    }
}
Ipakita ang mga elemento ng isang Mapa
public static void main(String[] args)
{
    // All elements are stored in pairs
    Map<String, String> map = new HashMap<String, String>();
    map.put("first", "Rain");
    map.put("second", "In");
    map.put("third", "Spain");

    Iterator<Map.Entry<String, String>> iterator = map.entrySet().iterator();

   while (iterator.hasNext())
    {
        // Get a key-value pair
        Map.Entry<String, String> pair = iterator.next();
        String key = pair.getKey();            // Key
        String value = pair.getValue();        // Value
        System.out.println(key + ":" + value);
    }
}

"Wow. I wonder kung anong ibig sabihin ng lahat ng iyon."

"Ito ay talagang medyo simple. Una, nakakakuha tayo ng isang espesyal na bagay, isang iterator, mula sa koleksyon. Ang iterator ay may dalawang pamamaraan lamang.

1. Ang susunod na() na pamamaraan ay nagbabalik ng susunod na elemento sa koleksyon.

2. Sinusuri ng hasNext() method kung may mga elemento pa rin na hindi naibalik ng next()."

"OK. I think it's getting clearer now. Let me try to repeat back to you what I understand."

"Kaya... Una, kailangan nating tawagan ang iterator() method sa isang koleksyon para makuha itong magic iterator object."

"Pagkatapos ay nakakakuha tayo ng mga elemento nang paisa-isa hangga't may natitira pang makukuha. Nakukuha natin ang susunod na elemento sa koleksyon sa pamamagitan ng pagtawag sa next(), at sinusuri natin kung mayroon pa ring mga elemento sa koleksyon sa pamamagitan ng pagtawag sa hasNext() sa iterator. Tama ba iyon?"

"Oo, more or less. But wait for the good part."

"Ang Java ay may shorthand notation para sa pagtatrabaho sa mga iterator. Kasunod ng pattern ng while at for , isa pang espesyal na pahayag ang idinagdag: para sa bawat . Ito ay ipinahiwatig din gamit ang keyword para sa ."

"Ang para sa bawat pahayag ay ginagamit lamang para sa pagtatrabaho sa mga koleksyon at mga lalagyan. Gumagamit ito ng isang iterator nang tahasan, ngunit nakikita lang namin ang ibinalik na elemento."

"Hayaan akong ipakita sa iyo ang longhand at shorthand na paraan upang gumana sa isang iterator:"

Longhand
public static void main(String[] args)
{
  Set&ltString> set = new HashSet&ltString>();
    set.add("Rain");
    set.add("In");
    set.add("Spain");

    Iterator&ltString> iterator = set.iterator();
  while (iterator.hasNext())
  {
    String text = iterator.next();
    System.out.println(text);
  }
}
Shorthand
public static void main(String[] args)
{
    Set&ltString> set = new HashSet&ltString>();
    set.add("Rain");
    set.add("In");
    set.add("Spain");

   for (String text : set)
    {
        System.out.println(text);
    }
}

"Tandaan na ang mga salitang naka-highlight sa pula o berde ay wala sa kanang bahagi. Sa katunayan, tatlong linya ay pinalitan ng isa:"

Longhand
Iterator&ltString> iterator = set.iterator();
while (iterator.hasNext())
{
    String text = iterator.next();
Shorthand
for (String text : set)

"This looks gorgeous. I like it much better this way."

"Tingnan natin ang shorthand na bersyon ng mga halimbawa sa itaas:"

Ipakita ang mga elemento ng isang Set
public static void main(String[] args)
{
    Set&ltString> set = new HashSet&ltString>();
    set.add("Rain");
    set.add("In");
    set.add("Spain");

    for (String text : set)
    {
        System.out.println(text);
    }
}
Ipakita ang mga elemento ng isang Listahan
public static void main(String[] args)
{
    List&ltString> list = new ArrayList&ltString>();
    list.add("Rain");
    list.add("In");
    list.add("Spain");

     for (String text : list)
    {
        System.out.println(text);
    }
}
Ipakita ang mga elemento ng isang Mapa
public static void main(String[] args)
{
    Map<String, String> map = new HashMap<String, String>();
    map.put("first", "Rain");
    map.put("second", "In");
    map.put("third", "Spain");

    for (Map.Entry<String, String> pair : map.entrySet())
    {
        String key = pair.getKey();                      // Key
        String value = pair.getValue();                  // Value
        System.out.println(key + ":" + value);
    }
}

"Ngayon nagsasalita ka na!"

"Natutuwa akong nagustuhan mo ito."