怎么把map数据拆分成好几个List数据
时间: 2024-05-03 17:22:46 浏览: 18
你可以使用Java 8中的流和收集器来将Map中的数据拆分成多个List数据。以下是示例代码:
```java
Map<String, Integer> map = new HashMap<>();
map.put("a", 1);
map.put("b", 2);
map.put("c", 3);
map.put("d", 4);
map.put("e", 5);
List<Integer> list1 = map.entrySet().stream()
.filter(entry -> entry.getValue() % 2 == 0)
.map(Map.Entry::getValue)
.collect(Collectors.toList());
List<Integer> list2 = map.entrySet().stream()
.filter(entry -> entry.getValue() % 2 != 0)
.map(Map.Entry::getValue)
.collect(Collectors.toList());
System.out.println("List 1: " + list1);
System.out.println("List 2: " + list2);
```
在这个例子中,我们首先创建了一个Map,它包含了五个键值对。然后我们使用流和收集器来将这个Map拆分成两个List。第一个List包含所有偶数值,第二个List包含所有奇数值。我们使用`filter`方法来过滤Map中的条目,并使用`map`方法将值转换成整数。最后,我们使用`collect`方法将过滤和映射后的整数值收集到List中。