温馨提示×

hashmap hashset迭代器遍历区别

小樊
92
2024-08-02 16:23:16
栏目: 编程语言

  1. HashMap迭代器遍历: HashMap是基于键值对存储数据的集合,迭代器遍历HashMap时,可以通过键值对的方式遍历所有元素。HashMap提供了entrySet()方法,可以返回HashMap中包含的键值对映射的Set集合,通过遍历这个Set集合可以实现对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是基于哈希表实现的Set集合,迭代器遍历HashSet时,只能通过元素的方式遍历所有元素,不支持直接获取键值对。

示例代码如下:

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);
}

总结: HashMap迭代器遍历可以通过键值对的方式遍历所有元素,而HashSet迭代器遍历只能通过元素的方式遍历所有元素。两者的区别在于数据结构的不同,HashMap是键值对存储数据的集合,而HashSet是单个元素存储数据的集合。

0