本教程将为你展示Java中HashMap的几种典型遍历方式。 如果你使用Java8,由于该版本JDK支持lambda表达式,可以采用第5种方式来遍历。 如果你想使用泛型,可以参考方法3。如果你使用旧版JDK不支持泛型可以参考方法4。 1、 通过ForEach循环进行遍历 代码语言:javascript 代码运行次数:0 运行 AI代码解释
3.ForEach中EntrySet方式遍历 for循环我们应该都非常的熟悉,而for-each的写法,我们通常称之为增强for循环,代码相对简洁,是我们日常开发中比较常用的遍历方式,而在HashMap中我们同样可以结合for-each进行键值对遍历,看下面的代码。 【代码示例3】 publicclassTest{ publicstaticvoidmain(String[] args){ HashMap<Intege...
importjava.util.HashMap;// 导入 HashMap 类publicclassHashMapExample{publicstaticvoidmain(String[]args){// 创建一个 HashMap 对象HashMap<String,Integer>map=newHashMap<>();// 添加一些键值对到 HashMapmap.put("Apple",1);map.put("Banana",2);map.put("Cherry",3);// 使用 forEach 遍历 Has...
HashMap 是一个散列表,它存储的内容是键值对(key-value)映射。 HashMap 实现了 Map 接口,根据键的 HashCode 值存储数据,具有很快的访问速度,最多允许一条记录的键为 null,不支持线程同步。HashMap 是无序的,即不会记录插入的顺序。HashMap 继承于AbstractMap,实现了 Map、Cloneable、java.io.Serializable 接口。
看过HashMap源码的同学应该会发现,这个遍历方式在源码中也有使用,如下图所示, putMapEntries方法在我们调用putAll方法的时候会用到。 2、通过for,Iterator和map.entrySet()来遍历 我们第一个方法是直接通过for和entrySet()来遍历的,这次我们使用entrySet()的迭代器来遍历,代码如下。
Map<String, Integer> map =newHashMap<>(); map.put("one", 1); map.put("two", 2); map.put("three", 3); map.forEach((key, value)->{ System.out.println("Key: " + key + ", Value: " +value); }); 优点:代码简洁,可读性好,适用于Java 8及更高版本。
publicvoiditerateMap(){// 使用forEach遍历HashMapmap.forEach((key,value)->{// 键是fruit,值是数量System.out.println("Fruit: "+key+", Quantity: "+value);});} 1. 2. 3. 4. 5. 6. 7. 3. 编写Mapper逻辑来处理遍历过程中每一个键值对 ...
最后使用forEach()方法遍历集合,输出到控制台。下面是一个示例代码:Map map = new HashMap<>();map.put("apple", 1);map.put("banana", 2);map.put("orange", 3);map.entrySet().stream().forEach(entry -> System.out.println(entry.getKey() + " = " + entry.getValue()));
HashMap类提供了一种for-each循环的方法,可以用来迭代HashMap中的键值对。for-each循环通常用于遍历数组和集合对象,但HashMap不是一个集合对象,因此需要使用foreach方法来迭代HashMap中的键值对。foreach方法使用Lambda表达式,使代码更加简洁和易读,并提供了更好的性能和内存效率。 下面是使用foreach方法遍历HashMap的示...
这个例子中,展示了如何使用foreach循环来遍历一个HashMap的键。我们首先使用keySet方法获取Map中所有的键,然后使用foreach循环遍历这些键,并通过键来获取对应的值,最后打印出每个键及其对应的值。注意,这里我们不能直接使用for (Map.Entry<String, Integer> entry : ages)来同时遍历键和值,因为那样会抛出编译...