Java的Map遍歷與List遍歷的區(qū)別

小樊
111
2024-07-23 13:20:04

在Java中,Map和List是集合類的兩種不同實(shí)現(xiàn)方式。它們?cè)诒闅v時(shí)有一些區(qū)別:

  1. Map是鍵值對(duì)的集合,每個(gè)元素都包含一個(gè)鍵和一個(gè)值。在遍歷Map時(shí),可以通過(guò)鍵來(lái)獲取對(duì)應(yīng)的值。常用的方法有使用entrySet()方法遍歷Map的鍵值對(duì)、keySet()方法遍歷Map的鍵、values()方法遍歷Map的值。
Map<String, Integer> map = new HashMap<>();
map.put("A", 1);
map.put("B", 2);
map.put("C", 3);

// 遍歷Map的鍵值對(duì)
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);
}
  1. List是有序集合,元素按照插入順序排列。在遍歷List時(shí),可以通過(guò)索引來(lái)獲取元素。常用的方法有使用普通for循環(huán)、增強(qiáng)for循環(huán)、迭代器等。
List<String> list = new ArrayList<>();
list.add("A");
list.add("B");
list.add("C");

// 普通for循環(huán)遍歷List
for (int i = 0; i < list.size(); i++) {
    System.out.println(list.get(i));
}

// 增強(qiáng)for循環(huán)遍歷List
for (String element : list) {
    System.out.println(element);
}

// 使用迭代器遍歷List
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
    System.out.println(iterator.next());
}

總的來(lái)說(shuō),Map的遍歷通常需要通過(guò)鍵來(lái)獲取值,而List的遍歷則直接通過(guò)索引來(lái)獲取元素。因此,在遍歷Map時(shí),通常會(huì)使用entrySet()方法獲取鍵值對(duì),而在遍歷List時(shí),則使用普通for循環(huán)或增強(qiáng)for循環(huán)。

0