在Java中,Map和List是集合類的兩種不同實現方式。它們在遍歷時有一些區別:
Map<String, Integer> map = new HashMap<>();
map.put("A", 1);
map.put("B", 2);
map.put("C", 3);
// 遍歷Map的鍵值對
for (Map.Entry<String, Integer> entry : map.entrySet()) {
System.out.println(entry.getKey() + ": " + entry.getValue());
}
// 遍歷Map的鍵
for (String key : map.keySet()) {
System.out.println(key);
}
// 遍歷Map的值
for (Integer value : map.values()) {
System.out.println(value);
}
List<String> list = new ArrayList<>();
list.add("A");
list.add("B");
list.add("C");
// 普通for循環遍歷List
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
// 增強for循環遍歷List
for (String element : list) {
System.out.println(element);
}
// 使用迭代器遍歷List
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
總的來說,Map的遍歷通常需要通過鍵來獲取值,而List的遍歷則直接通過索引來獲取元素。因此,在遍歷Map時,通常會使用entrySet()方法獲取鍵值對,而在遍歷List時,則使用普通for循環或增強for循環。