hashmap hashset迭代器遍歷區(qū)別

小樊
89
2024-08-02 16:23:16

  1. HashMap迭代器遍歷: HashMap是基于鍵值對(duì)存儲(chǔ)數(shù)據(jù)的集合,迭代器遍歷HashMap時(shí),可以通過(guò)鍵值對(duì)的方式遍歷所有元素。HashMap提供了entrySet()方法,可以返回HashMap中包含的鍵值對(duì)映射的Set集合,通過(guò)遍歷這個(gè)Set集合可以實(shí)現(xiàn)對(duì)HashMap的遍歷操作。

示例代碼如下:

HashMap<Integer, String> map = new HashMap<>();
map.put(1, "apple");
map.put(2, "banana");

Iterator<Map.Entry<Integer, String>> iterator = map.entrySet().iterator();
while (iterator.hasNext()) {
    Map.Entry<Integer, String> entry = iterator.next();
    System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue());
}
  1. HashSet迭代器遍歷: HashSet是基于哈希表實(shí)現(xiàn)的Set集合,迭代器遍歷HashSet時(shí),只能通過(guò)元素的方式遍歷所有元素,不支持直接獲取鍵值對(duì)。

示例代碼如下:

HashSet<String> set = new HashSet<>();
set.add("apple");
set.add("banana");

Iterator<String> iterator = set.iterator();
while (iterator.hasNext()) {
    String element = iterator.next();
    System.out.println("Element: " + element);
}

總結(jié): HashMap迭代器遍歷可以通過(guò)鍵值對(duì)的方式遍歷所有元素,而HashSet迭代器遍歷只能通過(guò)元素的方式遍歷所有元素。兩者的區(qū)別在于數(shù)據(jù)結(jié)構(gòu)的不同,HashMap是鍵值對(duì)存儲(chǔ)數(shù)據(jù)的集合,而HashSet是單個(gè)元素存儲(chǔ)數(shù)據(jù)的集合。

0