Java集合遍历

本文最后更新于:a few seconds ago

目录

List集合遍历

方式一、使用普通for循环遍历

1
2
3
4
5
6
7
8
List<String> items = new ArrayList<>();
items.add("A");
items.add("B");
items.add("C");
int itemsSize = items.size();
for (int i = 0; i < itemsSize; i++) {
System.out.println(items.get(i));
}

方式二、使用增强for循环遍历

1
2
3
4
5
6
7
List<String> items = new ArrayList<>();
items.add("A");
items.add("B");
items.add("C");
for (String item : items) {
System.out.println(item);
}

方式三、使用Lambda表达式forEach遍历(JDK1.8)

1
2
3
4
5
6
7
8
List<String> items = new ArrayList<>();
items.add("A");
items.add("B");
items.add("C");
// 方式1
items.forEach(item -> System.out.println(item));
// 方式2
items.forEach(System.out::println);

Map集合遍历

方式一、通过Map.keySet使用iterator遍历

1
2
3
4
5
6
7
8
9
10
Map<Integer, String> map = new HashMap<>();
map.put(1, "A");
map.put(2, "B");
map.put(3, "C");
Iterator<Integer> iterator = map.keySet().iterator();
while (iterator.hasNext()) {
Integer key = iterator.next();
String value = map.get(key);
System.out.println("key = " + key + ", value = " + value);
}

方式二、通过Map.entrySet使用iterator遍历

1
2
3
4
5
6
7
8
9
10
Map<Integer, String> map = new HashMap<>();
map.put(1, "A");
map.put(2, "B");
map.put(3, "C");
System.out.println(map);
Iterator<Map.Entry<Integer, String>> entries = map.entrySet().iterator();
while (entries.hasNext()) {
Map.Entry<Integer, String> entry = entries.next();
System.out.println(entry);
}

结果:

1
2
3
4
{1=A, 2=B, 3=C}
1=A
2=B
3=C

方式三、使用Map.keySet遍历

1
2
3
4
5
6
7
Map<Integer, String> map = new HashMap<>();
map.put(1, "A");
map.put(2, "B");
map.put(3, "C");
for (Integer key : map.keySet()) {
System.out.println("key = " + key + ", value = " + map.get(key));
}

方式四、使用Map.entrySet遍历

1
2
3
4
5
6
7
Map<Integer, String> map = new HashMap<>();
map.put(1, "A");
map.put(2, "B");
map.put(3, "C");
for (Map.Entry<Integer, String> entry : map.entrySet()) {
System.out.println("key = " + entry.getKey() + ", value = " + entry.getValue());
}

方式五、使用Lambda表达式forEach遍历(JDK1.8)

1
2
3
4
5
Map<Integer, String> map = new HashMap<>();
map.put(1, "A");
map.put(2, "B");
map.put(3, "C");
map.forEach((k, v) -> System.out.println("key = " + k + ", value = " + v));

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!