linkedhashmap的entryset
时间: 2024-04-29 09:20:17 浏览: 167
LinkedHashMap是一种按照插入顺序维护元素顺序的Map实现类。entrySet()方法会返回包含Map中所有键值对的Set集合,每个键值对都是一个Map.Entry对象。在LinkedHashMap中,entrySet()返回的Map.Entry对象的顺序就是元素插入的顺序。因此,如果您需要按照插入顺序遍历Map中的键值对,可以使用LinkedHashMap和entrySet()方法。
相关问题
新new出来的linkedhashmap,然后调用for (Map.Entry<String, FsscVoucherDetail> mp : map.entrySet()) {}会出现什么结果
如果您新创建了一个LinkedHashMap,并且在其中添加了键值对,然后使用for-each循环遍历entrySet(),那么会按照插入顺序依次遍历每个键值对。具体来说,每个迭代到的Map.Entry对象都会包含一个键和一个值,其中键的类型为String,值的类型为FsscVoucherDetail。您可以在循环体内使用mp.getKey()方法获取键,使用mp.getValue()方法获取值。例如:
```java
LinkedHashMap<String, FsscVoucherDetail> map = new LinkedHashMap<>();
// 添加键值对
map.put("key1", new FsscVoucherDetail());
map.put("key2", new FsscVoucherDetail());
map.put("key3", new FsscVoucherDetail());
// 遍历键值对
for (Map.Entry<String, FsscVoucherDetail> mp : map.entrySet()) {
String key = mp.getKey();
FsscVoucherDetail value = mp.getValue();
System.out.println("Key: " + key + ", Value: " + value);
}
```
输出结果:
```
Key: key1, Value: com.example.FsscVoucherDetail@1a2b3c
Key: key2, Value: com.example.FsscVoucherDetail@4d5e6f
Key: key3, Value: com.example.FsscVoucherDetail@7g8h9i
```
linkedhashmap遍历
LinkedHashMap 是一种有序的 Map 集合,因此可以通过迭代器或者 forEach 循环来遍历 LinkedHashMap。
以下是两种遍历 LinkedHashMap 的方式:
1. 使用迭代器遍历 LinkedHashMap
```
LinkedHashMap<Integer, String> linkedHashMap = new LinkedHashMap<>();
linkedHashMap.put(1, "Java");
linkedHashMap.put(2, "Python");
linkedHashMap.put(3, "JavaScript");
Iterator<Map.Entry<Integer, String>> iterator = linkedHashMap.entrySet().iterator();
while(iterator.hasNext()) {
Map.Entry<Integer, String> entry = iterator.next();
System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue());
}
```
2. 使用 forEach 循环遍历 LinkedHashMap
```
LinkedHashMap<Integer, String> linkedHashMap = new LinkedHashMap<>();
linkedHashMap.put(1, "Java");
linkedHashMap.put(2, "Python");
linkedHashMap.put(3, "JavaScript");
linkedHashMap.forEach((key, value) -> {
System.out.println("Key: " + key + ", Value: " + value);
});
```
以上两种方式都可以遍历 LinkedHashMap,只是语法不同。由于 LinkedHashMap 是有序的,因此遍历出来的结果顺序与插入顺序相同。
阅读全文