Javaでリストを結合するコード例
Javaでリストを結合する方法
Javaにおいて、2つのリストを結合する方法はいくつかあります。ここでは、代表的な方法を解説します。
addAll()メソッドを使用
最も一般的な方法は、addAll()
メソッドを使用することです。これは、一つのリストのすべての要素を別のリストに追加します。
import java.util.ArrayList;
import java.util.List;
public class ListMergeExample {
public static void main(String[] args) {
List<String> list1 = new ArrayList<>();
list1.add("apple");
list1.add("banana");
List<String> list2 = new ArrayList<>();
list2.add("orange");
list2.add("grape");
// li st2の要素をlist1に追加
list1.addAll(list2);
System.out.println(list1); // 出力: [apple, banana, orange, grape]
}
}
Stream APIを使用
Java 8以降では、Stream APIを使用してリストを結合することができます。これは、より簡潔なコードを書くことができます。
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
public class ListMergeExample {
public static void main(String[] args) {
List<String> list1 = new ArrayList<>();
list1.add("apple");
list1.add("banana");
List<String> list2 = new ArrayList<>();
list2.add("orange");
list2.add("grape");
// li st1とlist2を結合して新しいリストを作成
List<String> mergedList = Stream.concat(list1.stream(), list2.stream())
.collect(Collectors.toList());
System.out.println(mergedList); // 出力: [apple, banana, orange, grape]
}
}
forループを使用
より低レベルなアプローチとして、forループを使用して要素を一つずつ追加することもできます。ただし、Stream APIやaddAll()
メソッドを使用するよりも効率が劣ることがあります。
import java.util.ArrayList;
import java.util.List;
public class ListMergeExample {
public static void main(String[] args) {
List<String> list1 = new ArrayList<>();
list1.add("apple");
list1.add("banana");
List<String> list2 = new ArrayList<>();
list2.add("orange");
list2.add("grape");
// li st2の要素をlist1に追加
for (String item : list2) {
list1.add(item);
}
System.out.println(list1); // 出力: [apple, banana, orange, grape]
}
}
import java.util.ArrayList;
import java.util.List;
public class ListMergeExample {
public static void main(String[] args) {
List<String> list1 = new ArrayList<>();
list1.add("apple");
list1.add("banana");
List<String> list2 = new ArrayList<>();
list2.add("orange");
list2.add("grape");
// li st2の要素をlist1に追加
list1.addAll(list2);
System.out.println(list1); // 出力: [apple, banana, orange, grape]
}
}
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
public class ListMergeExample {
public static void main(String[] args) {
List<String> list1 = new ArrayList<>();
list1.add("apple");
list1.add("banana");
List<String> list2 = new ArrayList<>();
list2.add("orange");
list2.add("grape");
// li st1とlist2を結合して新しいリストを作成
List<String> mergedList = Stream.concat(list1.stream(), list2.stream())
.collect(Collectors.toList());
System.out.println(mergedList); // 出力: [apple, banana, orange, grape]
}
}
import java.util.ArrayList;
import java.util.List;
public class ListMergeExample {
public static void main(String[] args) {
List<String> list1 = new ArrayList<>();
list1.add("apple");
list1.add("banana");
List<String> list2 = new ArrayList<>();
list2.add("orange");
list2.add("grape");
// li st2の要素をlist1に追加
for (String item : list2) {
list1.add(item);
}
System.out.println(list1); // 出力: [apple, banana, orange, grape]
}
}
Guavaライブラリを使用
GoogleのGuavaライブラリを使用すると、リストの結合をより簡潔に記述することができます。
import com.google.common.collect.Lists;
public class ListMergeExample {
public static void main(String[] args) {
List<String> list1 = Lists.newArrayList("apple", "banana");
List<String> list2 = Lists.newArrayList("orange", "grape");
// list1とlist2を結合して新しいリストを作成
List<String> mergedList = Lists.newArrayList(list1, list2);
System.out.println(mergedList); // 出力: [apple, banana, orange, grape]
}
}
Apache Commons Collectionsライブラリを使用
Apache Commons Collectionsライブラリも、リストの結合をサポートしています。
import org.apache.commons.collections4.CollectionUtils;
public class ListMergeExample {
public static void main(String[] args) {
List<String> list1 = new ArrayList<>();
list1.add("apple");
list1.add("banana");
List<String> list2 = new ArrayList<>();
list2.add("orange");
list2.add("grape");
// li st1とlist2を結合して新しいリストを作成
List<String> mergedList = CollectionUtils.union(list1, list2);
System.out.println(mergedList); // 出力: [apple, banana, orange, grape]
}
}
カスタムメソッドを使用
独自のメソッドを作成して、リストの結合を実装することもできます。
import java.util.ArrayList;
import java.util.List;
public class ListMergeExample {
public static <T> List<T> mergeLists(List<T> list1, List<T> list2) {
List<T> mergedList = new ArrayList<>(list1.size() + list2.size());
mergedList.addAll(list1);
mergedList.addAll(list2);
return merge dList;
}
public static void main(String[] args) {
List<String> list1 = new ArrayList<>();
list1.add("apple");
list1.add("banana");
List<String> list2 = new ArrayList<>();
list2.add("orange");
list2.add("grape");
// li st1とlist2を結合して新しいリストを作成
List<String> mergedList = mergeLists(list1, list2);
System.out.println(mergedList); // 出力: [apple, banana, orange, grape]
}
}
java list merge