私は2つのリスト文字列が異なりますが、
List<String> A= [1,2,3,4];
List<String> B= [1,2,5,6];
そして、List C = new Arraylist (); の新しいリスト文字列で、2 つのリストを結合したいと考えています。
2 つのリスト文字列を結合する方法は、次の例のようになります。
C = [1,2,3,4,5,6];
私は2つのリスト文字列が異なりますが、
List<String> A= [1,2,3,4];
List<String> B= [1,2,5,6];
そして、List C = new Arraylist (); の新しいリスト文字列で、2 つのリストを結合したいと考えています。
2 つのリスト文字列を結合する方法は、次の例のようになります。
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
このようにします:
listOne.removeAll(listTwo);
listTwo.addAll(listOne);
Collections.sort(listTwo);
並べ替えたくない場合は、3 行目を削除できます。
これにより、それらが組み合わされます
combined = new ArrayList<String>();
combined.addAll(A);
combined.addAll(B);
これにより、一意が取得されます
List<String> uniques = new ArrayList<String>(new HashSet<String>(combined));
List#addAll
両方のリストの結果をマージするには、またはを使用する 2 つの方法があります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の宣言が間違っているようです。
ただし、2 つのリスト A と B が与えられた場合、それらを C に結合するには、次のコードを使用できます。 C.addAll(A); C.addAll(B);