我有两个列表:比较两个列表中的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