我有两个不同的列表字符串,
List<String> A= [1,2,3,4];
List<String> B= [1,2,5,6];
我想合并两个列表,在列表中的新列表字符串 C = new Arraylist ();
如何组合两个列表字符串,例如:
C = [1,2,3,4,5,6];
我有两个不同的列表字符串,
List<String> A= [1,2,3,4];
List<String> B= [1,2,5,6];
我想合并两个列表,在列表中的新列表字符串 C = new Arraylist ();
如何组合两个列表字符串,例如:
C = [1,2,3,4,5,6];
使用Collection.addAll()和TreeSet删除重复项并保持结果排序。
Set<String> c = new TreeSet<String>(a); //create a Set with all the elements in a
c.addAll(b); //add all the elements in b
这将使它们结合在一起
combined = new ArrayList<String>();
combined.addAll(A);
combined.addAll(B);
这将获得唯一的
List<String> uniques = new ArrayList<String>(new HashSet<String>(combined));
像这样做 :
listOne.removeAll(listTwo);
listTwo.addAll(listOne);
Collections.sort(listTwo);
如果不想对其进行排序,可以删除第三行。
有两种方法可以合并两个列表的结果:使用List#addAll
或Set#addAll
。两者之间的主要区别在这里进行了大量解释:Set 和 List 有什么区别?
根据您的要求,您应该合并两个列表,而无需使用Set
List<String> lstA = new ArrayList<String>();
lstA.add("1");
lstA.add("2");
lstA.add("3");
lstA.add("4");
List<String> lstB = new ArrayList<String>();
lstA.add("1");
lstA.add("2");
lstA.add("5");
lstA.add("6");
Set<String> lstC = new LinkedHashSet<String>();
lstC.addAll(A);
lstC.addAll(B);
List<String> lstAB = new ArrayList(lstC);
A 和 B 的声明似乎是错误的。
但是,给定两个列表 A 和 B,要将它们组合成 C,您可以使用以下代码: C.addAll(A); C.addAll(B);
List<String> A= new ArrayList<String>();
List<String> B= new ArrayList<String>();
Set<String> set = new TreeSet<String>(A);
set.addAll(B);
System.out.println(new ArrayList<String>(set));
Set<String> set = new TreeSet<String>(A); // for keeping the output sorted else you can also use java.util.HashSet
set.addAll(B);
List<String> finalList = new ArrayList<String>(set);
要获得List<String>
排序顺序,请使用这段代码
String a[] = {"1","2","3","4"};
String b[] = {"1","2","5","6"};
List<String> A= Arrays.asList(a);
List<String> B= Arrays.asList(b);
Set<String> CTemp = new TreeSet<>();
CTemp.addAll(A);
CTemp.addAll(B);
List<String> C = new ArrayList<>(CTemp);