我有兩個列表:比較兩個列表中的Java
list1 = [1,2,3]
list2 = [2,3,4]
我要帶兩個列表中的所有元素,沒有相同的價值,每一個元素將重複一次,例如:
list3 = [1,2,3,4]
list3
將得到list1
和list2
的元素。
我有兩個列表:比較兩個列表中的Java
list1 = [1,2,3]
list2 = [2,3,4]
我要帶兩個列表中的所有元素,沒有相同的價值,每一個元素將重複一次,例如:
list3 = [1,2,3,4]
list3
將得到list1
和list2
的元素。
快速的方法是使用一組例如:
輸入
List<Integer> list1 = Arrays.asList(1,2,3);
List<Integer> list2 = Arrays.asList(2,3,4);
將您的列表添加到Set
Set<Integer> set = new TreeSet<>();
set.addAll(list1);
set.addAll(list2);
輸出
[1, 2, 3, 4]
謝謝兄弟,它的工作 –
歡迎您@Outmen –
for(Integer i : list2){
if(!list1.contains(i)){
list1.add(i);
}
}
謝謝,這是工作 –
從第二列表添加唯一值的第一個:
for (int i = 0; i < list2.size(); i++)
if (!list1.contains(list2.get(i))
list1.add(list2.get(i));
謝謝,這是工作 –
你可以做到這一點正確:
List<Integer> A = Arrays.asList(1, 2, 3);
List<Integer> B = Arrays.asList(2,3,4);
List<Integer> D = ListUtils.subtract(B, A);// contain 4
輸出
List<Integer> C = ListUtils.union(A, D); // 1,2,3,4
你有問題嗎?你卡在哪裏? – assylias
循環遍歷第一個列表並將不在列表2中的任何值複製到它中。 然後對列表進行排序。 –
將'List'添加到'Set'並且你完成了。 – SomeJavaGuy