在java中合并两个列表而不重复
**请帮我解决这个问题**在java中合并两个列表而不重复,java,Java,**请帮我解决这个问题** List<String> list1 = {"a","b","c","d","aa","e","f","g"}; List<String> list2 = {"a","j","k","l","aa","x","y","z"}; 您需要将其保存在一个集合中,因为它保留唯一的条目。如果您需要基于keey的排序,您将不得不对树集 Set<String> mySet = new HashSet<St
List<String> list1 = {"a","b","c","d","aa","e","f","g"};
List<String> list2 = {"a","j","k","l","aa","x","y","z"};
您需要将其保存在一个集合中,因为它保留唯一的条目。如果您需要基于keey的排序,您将不得不对树集
Set<String> mySet = new HashSet<String>();
mySet.addAll(list1);
mySet.addAll(list2);
Set mySet=new HashSet();
mySet.addAll(列表1);
mySet.addAll(列表2);
mySet拥有您需要的所有集合。我建议您为此使用TreeSet,因为它不允许重复元素。 通过将第二个树集添加到第一个树集中来迭代第二个树集 或
您可以使用列表并使用方法
contains()
进行相应的添加。您可以显示您的代码吗?你尝试了什么?即使抛开我们通常不喜欢回答提问者没有努力解决的问题,我也说不出为什么结果应该是你所说的结果。结果的顺序重要吗?如果是这样的话,那么输入如何使这个特定的输出成为正确的输出呢?即使你有一些你尝试过的代码,这个问题也不会很清楚。我尝试了(stringx:list2){if(!list1.contains(x))list1.add(x);}
但答案是{“a”,“b”,“c”,“d”,“aa”,“e”,“f”,“g”,“j”,“k”,“l”,“x”,“y”,“z”}
我也尝试了addall等,但找不到想要的结果它抛出的结果我想要这个[a,b,c,d,j,k,l,aa,e,f,g,x,y,z}
而不是[a,b,c,d,aa,e,f,g,j,k,l,x,y,z]
for (Object x : two){
if (!one.contains(x))
one.add(x);
}
for (Object x : two){
if (!one.contains(x))
one.add(x);
}