java - 来自 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);
}
但这会将内部数组列表的所有值合并在一起
解决方案
为什么不简单地将它们放在Set
这样的位置?
Set<List<String>> uniques = new HashSet<>(mappedEntities);
您的错误是您正在展平内部列表并将它们的项目分别放在集合中。
推荐阅读
- azure - Azure 数据工厂 - 以递归方式将 FTP 复制到数据库
- c++11 - 纯虚析构函数是否足以使类抽象?
- c# - 需要从c#中的字符串中提取列名
- ruby-on-rails - 在 Rspec 中使用 2 个独立的数据库来测试库
- macos - 如何在不升级操作系统的情况下修复 vscode Language Server 的错误
- docker - 无法在 COPY 指令中使用 ARG 构建 Docker 多阶段映像
- inno-setup - 在 Inno Setup 中备份以前的安装,同时排除一些文件夹(备份文件夹本身)
- reactjs - 如何在 Firebase 托管中执行查询字符串?
- wordpress - 仅在 WordPress 中登录后显示的联系表格 7 更改
- angular - 如何使第一个 rootLevelNode 默认打开