List<Map<String,String>> 使用jdk8 去重 内容如: [{key:"测试",value:"测试"},{key:"测试1",value:"测试1"}]
时间: 2024-09-11 22:16:52 浏览: 41
Java中 List《map》把里面map中某个key相同记录的其他key 的 value 合并
在Java 8中,你可以使用`Collectors.toSet()`方法配合流(Stream)来对List<Map<String, String>>中的Map去重,因为Set数据结构不允许有重复元素。这里是一个示例:
```java
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
// 假设这是你要去重的List
List<Map<String, String>> list = Arrays.asList(
Map.of("key", "测试", "value", "测试"),
Map.of("key", "测试1", "value", "测试1")
);
// 使用Stream转换为Set,自动去除重复的Map
Set<Map<String, String>> uniqueMaps = list.stream()
.collect(Collectors.toSet());
// 打印结果,可以看到只有唯一的一条map
for (Map<String, String> map : uniqueMaps) {
System.out.println(map);
}
}
}
```
在这个例子中,去重后的集合只包含一个映射,即第一个元素,因为它和第二个元素的键值对完全相同。
阅读全文