【java】JavaがHashMapを巡る5つの方法
1.keyを単独で遍歴し、value(単一keyまたはvalueを取得する効率が高い)
2.Map.Entry<.......>汎用遍歴(効率的、推奨)
3.Iterator
Iterator key,value遍歴
Iterator Map.Entry<.......>汎用遍歴
4.java 8でforEachを使用して巡回
5.キー探索値遍歴(非効率)
for(String k:maps.keySet()){
System.out.println(k+":"+maps.get(k));
}
for(String value:maps.values()){
System.out.println(value);
}
2.Map.Entry<.......>汎用遍歴(効率的、推奨)
Map map = new HashMap();
for (Map.Entry entry : map.entrySet()) {
System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());
}
3.Iterator
Iterator key,value遍歴
Iterator iterator = maps.keySet().iterator();
while(iterator.hasNext()){
String key = iterator.next();
System.out.println(key+":"+maps.get(key));
}
Iterator iter= maps.values().iterator();
while(iter.hasNext()){
System.out.println(iter.next());
}
Iterator Map.Entry<.......>汎用遍歴
Map map = new HashMap();
Iterator> entries = map.entrySet().iterator();
while (entries.hasNext()) {
Map.Entry entry = entries.next();
System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());
}
4.java 8でforEachを使用して巡回
maps.forEach((k,v)-> System.out.println("Item :"+k+" Count:"+v));
5.キー探索値遍歴(非効率)
Map map = new HashMap();
for (Integer key : map.keySet()) {
Integer value = map.get(key);
System.out.println("Key = " + key + ", Value = " + value);
}
Mapitems=new HashMap<>();
items.put("A",10);
items.put("B",20);
items.put("C",30);
items.put("D",40);
items.put("E",50);
items.put("F",60);
//1. entrySet
Iterator iter1=items.entrySet().iterator();
while(iter1.hasNext()){
Map.Entry entry=(Map.Entry)iter1.next();
System.out.println("Item :"+entry.getKey()+" Count:"+entry.getValue());
}
//2. keySet
Iterator iter2=items.keySet().iterator();
while(iter2.hasNext()){
String key=(String) iter2.next();
System.out.println("Item :"+key+" Count:"+items.get(key));
}
//3. for EntrySet
for(Map.Entryentry:items.entrySet()){
System.out.println("Item :"+entry.getKey()+" Count:"+entry.getValue());
}
//4. for keySet
for (String key:items.keySet()){
System.out.println("Item :"+key+" Count:"+items.get(key));
}
//5.java8 forEach
items.forEach((k,v)-> System.out.println("Item :"+k+" Count:"+v));