List<Map<String,String>> 使用jdk8 去重
时间: 2024-09-11 17:16:48 浏览: 58
JDK8通过Stream 对List,Map操作和互转的实现
5星 · 资源好评率100%
在Java 8中,List<Map<String, String>> 类型的列表去重可以采用多种方法,因为直接对Map的键值对去重并不常见,通常需要转换成其他数据结构。这里假设你需要基于某个字段(例如key)来去重。一种常见的做法是先将所有Map转化为集合(如Set),这样Set会自动去除重复项,然后再将结果转回List。
以下是一个示例:
```java
import java.util.*;
List<Map<String, String>> list = ...; // 假设这是你要去重的list
// 将所有的map转换为Set(基于某key的值),再去除重复
Set<ImmutableMap<String, String>> uniqueMaps = new HashSet<>();
for (Map<String, String> map : list) {
ImmutableMap<String, String> immutableMap = ImmutableMap.copyOf(map); // 如果需要不可变的映射
uniqueMaps.add(immutableMap);
}
// 再次转换回List
List<Map<String, String>> distinctList = new ArrayList<>(uniqueMaps);
//
阅读全文