说我有这个数组列表:
List<Map<String,String>> fileDataList= new ArrayList<>();
fileDataList.stream().forEach(t->{
//find duplicate map values
});
该列表可能包含重复的值,如下所示:
[
{age:12,name:"john"},
{age:11,name:"Mary"},
{age:12,name:"john"}
]
现在,我想在流中找到匹配名称和年龄的重复地图值,而不将其删除。 我尝试使用HashSet,但我听不懂。
答案 0 :(得分:3)
霍尔格在评论中提出了我错过的观点。如果您的SparseTensorValue(indices=array([[3, 4],
[4, 5],
[6, 2]]), values=array([1, 1, 1], dtype=int32), dense_shape=array([10, 8]))
仅包含那些Map
和name
属性中的 ,则只需执行以下操作:
age
这就足够了。另一方面,如果您具有更多属性,并且 仅过滤其中的一部分,您可以使用this utility:
fileDataList.stream()
.distinct()
.collect(Collectors.toList())
答案 1 :(得分:0)
如果Map
到EntrySet
列表中,则可以将您的列表转移。
List<Map.Entry<String, String>> entries = fileDataList.stream()
.flatMap(e -> e.entrySet().stream())
.collect(toList());