2015-05-26 34 views
-2

**请帮助我解决这个**合并两个列表在Java中没有重复

List<String> list1 = {"a","b","c","d","aa","e","f","g"};   
    List<String> list2 = {"a","j","k","l","aa","x","y","z"}; 

在最后的结果我想是这样

result = {"a","b","c","d","j","k","l","aa","e","f","g","x","y","z"}; 
+0

请问您能展示您的代码吗?你尝试了什么? – abarisone

+1

即使抛开我们通常不喜欢回答提问者没有做出任何努力来解决问题的事实,我不能告诉_why_结果应该是你说的应该是什么。结果的顺序是否重要?如果是这样,那么输入是什么使得这个特定的输出是正确的输出?即使你有一些你尝试过的代码,这个问题也不会清楚。 – ajb

+0

我试图'为:(!list1.contains(X))(序列X列表2){ \t \t \t如果 \t \t \t list1.add(X); ''“a”,“b”,“c”,“d”,“aa”,“e”,“f”,“g”,“j”,“k” ,“l”,“x”,“y”,“z”}''我也尝试addall等,但没有找到想要的结果 – User2228

回答

0

你需要将其保存在一组,因为它保持唯一的条目。如果您需要基于keey的排序,您将不得不树立...

Set<String> mySet = new HashSet<String>(); 
mySet.addAll(list1); 
mySet.addAll(list2); 

mySet拥有您需要的所有集合。

+0

相同的结果是投掷我想这''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 ]' – User2228

+0

你跟随什么样的逻辑?订单的标准是什么? –

1

我建议你为此使用TreeSet,因为它不允许重复的元素。 迭代通过第二TreeSet中通过将其添加到第一个

OR

你可以使用一个清单,并利用该方法,并相应增加。

0
for (Object x : two){ 
    if (!one.contains(x)) 
     one.add(x); 
} 
相关问题