logo

Java'da Harita nasıl yinelenir

Java'da Harita üzerinde yineleme çeşitli şekillerde yapılabilir. kullanarak doğrudan harita üzerinde yineleme yapamayacağımızı unutmayın. yineleyiciler , çünkü Harita arayüzü Koleksiyonun bir parçası değil. Java'daki tüm haritalar uygulanır Harita arayüz. Java'da aşağıdaki harita türleri vardır:

  • Hash Haritası
  • Ağaç Haritası
  • LinkedHashMap

Harita bir Koleksiyon değildir ancak yine de Koleksiyonlar çerçevesinde düşünün. Dolayısıyla Harita, Koleksiyonlar arayüzünü genişletmeyen bir arayüzdür.

Yineleyici

Yineleyici, bir koleksiyon üzerinde yineleme yapmak için kullanılan bir arayüzdür. Java Collections Framework'te Numaralandırmanın yerini alır. Yineleyici ve Numaralandırma arasındaki fark şudur:

  • Yineleyici, eski ve eski olmayan öğeler arasında geçiş yapabilirken, Numaralandırma yalnızca eski öğeler arasında geçiş yapabilir.
  • Yineleyici hızlıdır, Numaralandırma ise hızlı değildir.

Koleksiyon Görünümleri

Koleksiyon görünümleri yöntemi, bir haritanın aşağıdaki şekillerde Koleksiyon olarak görüntülenmesine olanak tanır:

    anahtar seti:Haritanın içerdiği anahtarlar kümesidir.değerler:Haritada yer alan değerlerin koleksiyonudur.girişSeti:Haritadaki bir anahtar/değer çifti kümesidir.

Harita arayüzü ayrıca küçük bir iç içe arayüze sahiptir. Harita girişi . Koleksiyon görünümü, bir harita üzerinde yineleme yapmanın tek yolunu sağlar.

dizeyi jsonobject java'ya dönüştür

Yineleyici arayüzünü kullanma

HashMap üzerinde yineleme örneği

java boole dizesi
 public static void main(String args[]) { HashMap hm = new HashMap(); //implements map interface hm.put(110,'Ravi'); hm.put(120,'Prateek'); hm.put(130, 'Davesh'); hm.put(140, 'Kamal'); hm.put(150, 'Pawan'); Iterator it = hm.keySet().iterator(); //keyset is a method while(it.hasNext()) { int key=(int)it.next(); System.out.println('Roll no.: '+key+' name: '+hm.get(key)); } } } 

Çıktı:

 Roll no.: 130 name: Davesh Roll no.: 150 name: Pawan Roll no.: 120 name: Prateek Roll no.: 140 name: Kamal Roll no.: 110 name: Ravi 

keyset() ve value() yöntemini kullanma

anahtar seti(): A anahtar seti() yöntemi Hash Haritası sınıf, haritada bulunan anahtarlar üzerinde yineleme için kullanılır. Tuşların Set görünümünü döndürür.

Sözdizimi

 Set keyset() 

değerler(): A değerler() yöntemi Hash Haritası sınıf, haritada yer alan değerlerin yinelenmesi için kullanılır. Değerlerin koleksiyon görünümünü döndürür.

Sözdizimi

Uas'taki şehir
 Collection values() 

Örnek

 import java.util.Map; import java.util.HashMap; class IterationExample2 { public static void main(String[] arg) { Map map = new HashMap(); map.put('Gujarat', 'Gandhi Nagar'); map.put('Uttar Pradesh', 'Lucknow'); map.put('Sikkim', 'Ganagtok'); for (String State : map.keySet()) //using keyset() method for iteration over keySet System.out.println('State: ' + State); for (String Capital : map.values()) //using values() for iteration over keys System.out.println('Capiatl: ' + Capital); } } 

Çıktı:

 State: Gujarat State: Sikkim State: Uttar Pradesh Capital: Gandhi Nagar Capital: Ganagtok Capital: Lucknow 

Map.entrymethod'u kullanma

Map.Entry bir arayüzdür. Öğeleri bu sınıftan olan haritanın koleksiyon görünümünü döndürür.

Bir map.entrySet() yöntemi, haritada yer alan eşlemenin Set görünümünü döndürür. Haritadaki değişiklikler Set'e de yansıtılır ve bunun tersi de geçerlidir. Aynı zamanda ilgili eşlemeyi haritadan kaldıran öğe kaldırmayı da destekler.

Sözdizimi

 Set<map.entry> entrySet() </map.entry>

Örnek

Java'da string yöntemine
 import java.util.*; class IterationExample3 { public static void main(String[] arg) { Map map = new HashMap(); map.put(&apos;Cookies&apos;, 90.87f); map.put(&apos;Dry Fruits&apos;, 434.23f); map.put(&apos;Oats&apos;, 220.00f); map.put(&apos;Chocolate&apos;, 70.89f); for (Map.Entry entry : map.entrySet()) //using map.entrySet() for iteration { //returns keys and values respectively System.out.println(&apos;Item: &apos; + entry.getKey() + &apos;, Price: &apos; + entry.getValue()); } } } 

Çıktı:

 Item: Oats, Price: 220.0 Item: Dry Fruits, Price: 434.23 Item: Cookies, Price: 90.87 Item: Chocolate, Price: 70.89 

Anahtarlar üzerinde yineleme ve değerlerin alınması

Örnek

Aşağıdaki örnekte, önce anahtarlar üzerinde yineliyoruz ve ardından değerleri alıyoruz.

 import java.util.*; class IterationExample4 { public static void main(String[] arg) { Map map = new HashMap(); map.put(&apos;Sumit&apos;, &apos;Singh&apos;); map.put(&apos;Devesh&apos;, &apos;Mishra&apos;); map.put(&apos;Rahul&apos;, &apos;Tiwari&apos;); for (String name: map.keySet()) //iteration over keys { //returns the value to which specified key is mapped String lastname=map.get(firstname); System.out.println(&apos;Key: &apos; + name + &apos;, Value: &apos; + lastname); } } } 

Çıktı:

 Key: Rahul, Value: Tiwari Key: Devesh, Value: Mishra Key: Sumit, Value: Singh 

forEach() yöntemini kullanma

her biri için() yöntemi Dizi Listesi Tüm öğeler işlenene kadar Yinelenebilir öğenin her öğesi için bir eylem gerçekleştirmek için kullanılır.

Sözdizimi

 public void forEach(Consumer action) 

Yöntem, parametre olarak eylemi (her öğe için gerçekleştirilecek eylemi) alır. Hiçbir şey döndürmez. Fırlatıyor NullPointerException belirtilen eylem null ise.

Örnek

int'ye gitmeye çalışıyorum

Aşağıdaki örnekte, haritanın her bir öğesini yazdırmak için forEach() yönteminin içinde lambda ifadesini kullanıyoruz.

 import java.util.Map; import java.util.HashMap; class IterationExample5 { public static void main(String[] arg) { Map map = new HashMap(); map.put(&apos;TCS&apos;, &apos;0 billion&apos;); map.put(&apos;Wipro&apos;, &apos;.5 billion&apos;); //iteration over map using forEach() method map.forEach((k,v) -&gt; System.out.println(&apos;Company: &apos;+ k + &apos;, Net worth: &apos; + v)); } } 

Çıktı:

 Company: Wipro, Net worth: .5 billion Company: TCS, Net worth: 0 billion