我有两个清单:
list1 = [1,2,3]
list2 = [2,3,4]
我想把两个列表中的所有元素都没有相同的值,每个元素都会重复一次例子:
list3 = [1,2,3,4]
list3
将获得list1
和list2
的元素。
答案 0 :(得分:3)
快速方法是使用Set例如:
<强>输入强>
List<Integer> list1 = Arrays.asList(1,2,3);
List<Integer> list2 = Arrays.asList(2,3,4);
将您的列表添加到设置
Set<Integer> set = new TreeSet<>();
set.addAll(list1);
set.addAll(list2);
<强>输出强>
[1, 2, 3, 4]
答案 1 :(得分:1)
for(Integer i : list2){
if(!list1.contains(i)){
list1.add(i);
}
}
答案 2 :(得分:1)
将第二个列表中的唯一值添加到第一个列表中:
for (int i = 0; i < list2.size(); i++)
if (!list1.contains(list2.get(i))
list1.add(list2.get(i));
答案 3 :(得分:1)
您可以使用以下方式正确执行此操作:
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