CodeGym /Blog Jawa /Acak /Java Iterator
John Squirrels
tingkat
San Francisco

Java Iterator

Diterbitake ing grup
Hi! Ing wulangan dina iki, kita bakal ngomong babagan Java Iterator. Mbayangno yen sampeyan menyang perpustakaan, lan sampeyan pengin golek buku tartamtu. Kepiye carane? Yen non-fiksi, ana Sistem Desimal Dewey. Yen fiksi, diurutake miturut abjad miturut jeneng mburi. Apa wae sing sampeyan goleki, ing sawetara titik, sampeyan kudu mbukak buku siji-sijine nganti sampeyan nemokake apa sing sampeyan goleki. Kapan sampeyan duwe koleksi barang ing Jawa, apa sing disimpen ing Array , ArrayList , Queue , utawa List , kepiye sampeyan nemokake nilai tartamtu? Ing sawetara titik, sampeyan kudu ngliwati saben unsur siji-sijine. Iki apa iterator Jawa kanggo.Cara Nggunakake Iterator Jawa: Tutorial Singkat - 1

Apa Iterator ing Jawa

Apa iterator ing basa Jawa? Iki minangka cara kanggo ndeleng saben unsur ing koleksi. Lan kanthi koleksi, kita tegese apa wae ing kelas Koleksi . Iki kalebu:
  • ArrayList
  • HashSet
  • LinkedHashSet
  • LinkedList
  • PriorityQueue
  • Vektor
  • lan akeh liyane…
Uga kalebu macem-macem antarmuka kanggo kelas kasebut, kayata Set , List , Queue , Dequeue , lan Sorted Set , kanggo sawetara jeneng. Iterator<E> yaiku metode antarmuka umum saka kelas Interface Iterator<E> . Iki digawa ing Jawa 1.2 lan diganti Enumeration minangka cara kanggo mriksa unsur urutan ing koleksi.

Napa Sampeyan Ora Gunakake Kanggo Loops minangka Iterator ing Jawa

Salah sawijining cara pisanan sing diwulangake saben wong kanggo ngulang koleksi ing Jawa yaiku kanggo loop. Katon kaya mangkene:

class Main {
  public static void main(String[] args) {
    int exampleArray[] = new int[10];

    //fill array with data

    for(int x = 0; x < exampleArray.length; x++) {
      System.out.println("Content of element " + x + "is: " + exampleArray[x]);
    }
  }
}
Output bakal dadi dhaptar sing maca:

Content of element 0 is: 0
Content of element 1 is: 1
Content of element 2 is: 2
etc.…
Iki duwe kegunaan, nanging apa sing kedadeyan yen koleksi ora nyimpen unsur ing sistem basis indeks? Contone, Set s ora duwe urutan biasane. Dadi luwih becik metu saka praktik nggunakake for loop minangka iterator ing Jawa lan praktek nggunakake kelas Iterator<E> . Ing ngisor iki sawetara conto java iterator.

Carane nggunakake Iterator ing Jawa

Ing ngisor iki sawetara conto carane nggunakake iterator ing Jawa. Nalika nggunakake kelas iterator, ana telung cara kanggo ngliwati koleksi. Sampeyan bisa nggunakake daur ulang while() , daur ulang for() , lan daur ulang forEach() . Elinga yen loop iki beda karo sing wis diomongake sadurunge. Mangkene telung conto iterator java sing beda. Pisanan, ayo nyiyapake Koleksi kanggo ngulang.

import java.util.*; // imports ArrayList, Collection and Iterator

class Main {
  public static void main(String[] args) {
    Collection<String> example = new ArrayList<String>();

    example.add("Item 1");
    example.add("Item 2");
    example.add("Item 3");
    example.add("Item 4");
  }
}
Iki minangka Koleksi prasaja sing digawe saka ArrayList sing ngemot papat item. Saiki ayo goleki telung cara nggunakake kelas Iterator kanggo ngliwati ArrayList .

While() loop


Iterator<String> iterator = example.iterator();

while (iterator.hasNext()) {
   System.out.println("Element Value= " + iterator.next());
}
daur ulang while () iki nggunakake metode Boolean .hasNext () saka kelas Iterator kanggo mriksa apa ana unsur mangsa. Yen prasyarat bener, banjur nerusake. Yen bali minangka palsu, banjur daur ulang ends. Sisih tombol kene iku .hasNext () lan .sabanjure () cara loro nindakake mriksa dhisikan saka unsur pisanan. Yen Koleksi kosong lan ora ana unsur pisanan, banjur cara bali palsu kanggo .hasNext () lan bakal uncalan NoSuchElementException kanggo .sabanjure () cara.

Kanggo loop


for (Iterator<String> iterator = example.iterator(); iterator.hasNext();) {
  System.out.println("Element Value= " + iterator.next());
}
Iki katon luwih tradisional kanggo loop. Iku nggunakake cara .hasNext () minangka mriksa kondisi lan ngganti bagean. Inisialisasi yaiku panggilan menyang Iterator.

Kanggo: Saben loop


for (String s : example) {
  System.out.println("Element Value= " + s);
}
The For:Saben daur ulang iku kanggo daur ulang, nanging yen sampeyan ora ngerti carane maca, bisa uga rada bingung. Sintaks saka For:Each loop kanggo (data_type variableName: collectionName){ body} . Iki kanggo: saben daur ulang duwe sawetara kekurangan. Kaping pisanan, mung bisa ngliwati koleksi ing siji arah. Kapindho, sampeyan kudu ngulang saben unsur. Sampeyan ora bisa ngliwati salah sawijining. Nanging minangka iterator dhaptar sing trep ing Jawa, iku pilihan sing paling apik. Ing sisih plus, kanggo: saben loop gampang banget diwaca lan yen sampeyan ngerti, angel salah. Yen sampeyan kepingin weruh apa output saka telung puteran iterator, kabeh padha:

Element Value= Item 1
Element Value= Item 2
Element Value= Item 3
Element Value= Item 4 

Cara nggunakake Iterator ing Jawa Kanggo Peta

Peta minangka cara sing populer kanggo nyimpen data, nanging amarga ora ngluwihi Koleksi , sampeyan ora bisa nggunakake iterator sadurunge kanggo langsung ngliwati peta. Dadi, kepiye sampeyan nggunakake iterator ing Jawa kanggo ngliwati Map s lan HashMap s? Ana papat cara iterator peta Jawa sing apik. Kita bakal nutupi saben wong. Pisanan, ayo mbukak peta kanthi serangkaian nilai.

import java.util.*; //imports Map and HashMap

class Main {
  public static void main(String[] args) {
    Map<String, String> example = new HashMap<String, String>();

    example.put("alpha", "one");
    example.put("beta", "two");
    example.put("gamma", "three");

  }
}

Metode Java Hashmap Iterator: forEach(action)


example.forEach((k,v) -> System.out.println("Key: "+ k + ", Value: " + v));
Cara iki nggunakake ekspresi lambda kanggo ngulang. Operator lambda minangka cara forEach () , lan awak nyithak nilai kasebut. Iki nggunakake sawetara operator parameter. Iki minangka cara paling cepet lan paling resik kanggo iterator peta ing Jawa 8.

Java Hashmap Iterator Metode: Kanggo: Saben () Loop


for (Map.Entry<String, String> iterate : example.entrySet()) {
  System.out.println("Key: " + iterate.getKey() + ", Value: " + iterate.getValue());
}
Iki nggunakake Kanggo: Saben sintaks nelpon entrySet () cara kanggo bali pesawat sing nduweni tombol lan nilai minangka unsur. Tambahan, nalika nggunakake cara .Entry () , obyek mung bener nalika pengulangan iki kedaden.

Metode Iterator Hashmap Jawa: Map.Entry<k, v>


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

while(iterator.hasNext()){
  Map.Entry<String, String> element = iterator.next();
  System.out.println("Key: " + element.getKey() + ", Value: " + element.getValue());
)
Cara iki maneh ngowahi Peta menyang pesawat kanggo nggunakake Koleksi Iterator lan cara. Kanggo telung cara iterator iki, bali katon kaya iki:

Key: alpha, Value: one
Key: beta, Value: two
Key: gamma, Value: three
Java Hashmap Iterator Method: keySet() and values()
for (String key : example.keySet()) {
  System.out.println("Key: " + key);
}
for (String value : example.values()) {
  System.out.println("Value: " + value);
}
Iki ngasilake unsur kanthi cara sing beda. Pisanan bakal ngasilake kabeh Tombol kanthi urutan banjur kabeh Nilai:

Key: alpha
Key: beta
Key: gamma
Value: one
Value: two
Value: three
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION