首页 > 解决方案 > 来自 ArrayList 的 ArrayList 的唯一集合

问题描述

嗨,我有一个这种格式的数组列表:

[[val1, val2],[val3,val4],[val1,val2],[val1,val5]]

并希望获得唯一的数组列表集:

[[val1, val2],[val3,val4],[val1,val5]]

我尝试了以下方法:

Set<String> uniques = new HashSet<>();
    for (ArrayList<String> sublist : mappedEntities) {
        uniques.addAll(sublist);
    }

但这会将内部数组列表的所有值合并在一起

标签: javaarraylistset

解决方案


为什么不简单地将它们放在Set这样的位置?

Set<List<String>> uniques = new HashSet<>(mappedEntities);

您的错误是您正在展平内部列表并将它们的项目分别放在集合中。


推荐阅读