在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);
}