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:
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('Cookies', 90.87f); map.put('Dry Fruits', 434.23f); map.put('Oats', 220.00f); map.put('Chocolate', 70.89f); for (Map.Entry entry : map.entrySet()) //using map.entrySet() for iteration { //returns keys and values respectively System.out.println('Item: ' + entry.getKey() + ', Price: ' + 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('Sumit', 'Singh'); map.put('Devesh', 'Mishra'); map.put('Rahul', 'Tiwari'); 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('Key: ' + name + ', Value: ' + 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('TCS', '0 billion'); map.put('Wipro', '.5 billion'); //iteration over map using forEach() method map.forEach((k,v) -> System.out.println('Company: '+ k + ', Net worth: ' + v)); } }
Çıktı:
Company: Wipro, Net worth: .5 billion Company: TCS, Net worth: 0 billion