gpt4 book ai didi

java - 从二维 ArrayList 中删除重复项

转载 作者:行者123 更新时间:2023-11-29 06:01:35 25 4
gpt4 key购买 nike

我有一个二维 ArrayList,我需要从中过滤出重复项。

generateRows 的当前结果:[["one"], ["two"], ["three"], ["one"]]

Java 伪代码:

ArrayList<ArrayList<String>> rows = new ArrayList<ArrayList<String>>();
rows = generateRows(); //method not shown, but returns a ArrayList<ArrayList<String>>
Set<String> set = new LinkedHashSet<String>();
for (ArrayList<String> list:rows) {
set.addAll (list);
}
rows.clear();
rows.add(new ArrayList<String>(set));

运行上述转换代码后的当前结果:[[one, two, three]]

期望的结果:[[“一”]、[“二”]、[“三”]]

最佳答案

将代码与您发布的代码保持在同一行,这是您必须做的。

ArrayList<ArrayList<String>> rows = new ArrayList<ArrayList<String>>();
rows = generateRows(); //method not shown, but returns a ArrayList<ArrayList<String>>
Set<ArrayList<String>> set = new LinkedHashSet<ArrayList<String>>();
set.addAll(rows);
rows.clear();
rows.addAll(set);

您日常工作的主要问题:

Set<String> set = new LinkedHashSet<String>();你是说 set 将包含 String 类型,而你真正的唯一对象集是 ArrayList 类型

关于java - 从二维 ArrayList 中删除重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9913566/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com