遍历HashMap的五种方法
public static void main(String[] args){
//构建一个map
Map<String, String> map = new HashMap<>();
map.put("1","a");
map.put("2","b");
//第一种方法:普遍使用,通过Map.keySet()遍历key,然后获取相应value
for(String key:map.keySet()){
System.out.println("key = " + key + "Value = "+ map.get(key);
}
//第二种方法:通过Map.values()遍历所有的value,但不能遍历key
for(String v:map.values()){
System.out.println("value = " + v);
}
//第三种方法: 通过Iterator迭代器遍历循环,第二三种方法性能略低于entryset法 Map.entrySet().iterator();
Iterator<Map.Entry<String,String>> it = map.entrySet().iterator();
while(it.next()){
Map.Entry<String,String>> entry = it.next();
System.out.println("key = " + entry.getKey() + "Value = " + entry.getValue());
}
//第四种方法:用map.entrySet()直接循环输出,在键和值都需要时使用,当容量大时比2好,效率高推荐使用
for(Map.Entry<String,String> entry:map.entrySet()){
System.out.println("key = " + entry.getKey() + "Value = " + entry.getValue());
}
//第五种方法:java8 lambda foreach方法,性能略低于entrySet
map.forEach((key,value)->{
System.out.println("key = " + key + "Value = " + value);
});
}
遍历HashSet的三种方法
public static void main(String[] args){
//构建一个Set
Set<String> set= new HashSet<>();
set.add("a");
set.add("b");
//第一种方法:通过Iterator迭代器遍历循环
Iterator it = set.iterator();
while(it.next()){
System.out.println(it.next());
}
//第二种方法:增强for循环
for(:map.entrySet()){
System.out.println("key = " + entry.getKey() + "Value = " + entry.getValue());
}
//第三种方法:java8 lambda foreach方法
set.forEach((s)-> System.out.println(s));
}
参考: 遍历HashSet的方法