一、对 set 的遍历
1.迭代遍历:
Set<String> set = new HashSet<String>();
Iterator<String> it = set.iterator();
while (it.hasNext()) {
String str = it.next();
System.out.println(str);
}
2.for循环遍历:
for (String str : set) {
System.out.println(str);
}
二、遍历Map
Map<Integer, Integer> map = new HashMap<Integer, Integer>();
1.entrySet遍历,在键和值都需要时使用
for (Map.Entry<Integer, Integer> entry : map.entrySet()) {
System.out.println("key = " + entry.getKey() + ", value = " + entry.getValue());
}
- 通过keySet或values来实现遍历
遍历map中的键
for (Integer key : map.keySet()) {
System.out.println("key = " + key);
}
遍历map中的值
for (Integer value : map.values()) {
System.out.println("key = " + value);
}
- 使用Iterator遍历
Iterator<Map.Entry<Integer, Integer>> it = map.entrySet().iterator();
while (it.hasNext()) {
Map.Entry<Integer, Integer> entry = it.next();
System.out.println("key = " + entry.getKey() + ", value = " + entry.getValue());
}
- java8 Lambda
java8提供了Lambda表达式支持,语法看起来更简洁,可以同时拿到key和value,性能低于entrySet
map.forEach((key, value) -> {
System.out.println(key + ":" + value);
});