У Јави, итерација преко Мапе може се обавити на различите начине. Запамтите да не можемо директно да прелазимо преко мапе користећи итератори , јер интерфејс мапе није део колекције. Све мапе у Јава имплементирају Мапа интерфејс. Постоје следеће врсте мапа у Јави:
- ХасхМап
- ТрееМап
- ЛинкедХасхМап
Мапа није збирка, али ипак, размотрите у оквиру збирке. Дакле, мапа је интерфејс који не проширује интерфејс колекције.
Итератор
Итератор је интерфејс који се користи за итерацију преко колекције. Заузима место набрајања у оквиру Јава Цоллецтионс Фрамеворк-а. Разлика између итератора и набрајања је:
- Итератор може да прелази старе и ненаслеђе елементе, док набрајање може да прелази само старе елементе.
- Итератор је брз, док набрајање није брзо.
Цоллецтион Виевс
Метод приказа колекције омогућава да се мапа види као збирка на следеће начине:
Интерфејс мапе такође има мали угнежђени интерфејс тзв Мап.ентри . Приказ колекције пружа једино средство за понављање преко мапе.
колико је велики екран мог монитора
Коришћење интерфејса Итератор
Пример итерације преко ХасхМап-а
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)); } } }
Излаз:
парцијални деривати у латексу
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
Коришћење метода кеисет() и валуе().
кеисет(): А кеиСет() метод ХасхМап класа се користи за итерацију преко кључева садржаних у мапи. Враћа Сет приказ тастера.
Синтакса
Set keyset()
вредности(): А вредности() метод ХасхМап класа се користи за понављање вредности садржаних у мапи. Враћа приказ колекције вредности.
Синтакса
Collection values()
Пример
мавен инсталл
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); } }
Излаз:
State: Gujarat State: Sikkim State: Uttar Pradesh Capital: Gandhi Nagar Capital: Ganagtok Capital: Lucknow
Коришћење Мап.ентриметход
Мап.Ентри је интерфејс. Враћа приказ колекције мапе, чији су елементи ове класе.
Метода мап.ентриСет() враћа Сет приказ мапирања садржаног у мапи. Промене на мапи се такође одражавају у скупу и обрнуто. Такође подржава уклањање елемената, чиме се уклања одговарајуће мапирање са мапе.
Синтакса
низ структура у језику ц
Set<map.entry> entrySet() </map.entry>
Пример
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()); } } }
Излаз:
Item: Oats, Price: 220.0 Item: Dry Fruits, Price: 434.23 Item: Cookies, Price: 90.87 Item: Chocolate, Price: 70.89
Итерација преко кључева и добијање вредности
Пример
У следећем примеру прво прелазимо преко кључева, а затим добијамо вредности.
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); } } }
Излаз:
Key: Rahul, Value: Tiwari Key: Devesh, Value: Mishra Key: Sumit, Value: Singh
Коришћење методе форЕацх().
Тхе за сваки() метод Низ листа се користи за обављање акције за сваки елемент Итерабле-а док се сви елементи не обрађују.
Синтакса
public void forEach(Consumer action)
Метода предузима акцију (радњу која се изводи за сваки елемент) као параметар. Не враћа ништа. То баца НуллПоинтерЕкцептион ако је наведена радња нула.
0,2 као разломак
Пример
У следећем примеру користимо ламбда израз унутар методе форЕацх() за штампање сваког елемента мапе.
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)); } }
Излаз:
Company: Wipro, Net worth: .5 billion Company: TCS, Net worth: 0 billion