はじめに
この実験では、Java で ArrayList をソートする方法を学びます。ソートは、プログラミングにおけるデータ操作の基本操作の 1 つです。ArrayList をソートする方法はいくつかあり、List
の sort()
メソッド、Collections
クラスの sort()
メソッド、またはストリーム API の sorted()
メソッドを使用するなどがあります。この実験では、これらのすべての手法を扱います。
💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください
この実験では、Java で ArrayList をソートする方法を学びます。ソートは、プログラミングにおけるデータ操作の基本操作の 1 つです。ArrayList をソートする方法はいくつかあり、List
の sort()
メソッド、Collections
クラスの sort()
メソッド、またはストリーム API の sorted()
メソッドを使用するなどがあります。この実験では、これらのすべての手法を扱います。
Java プログラムのコードを開始する前に、ArrayList と Comparator をインポートする必要があります。
import java.util.ArrayList;
import java.util.Comparator;
いくつかの要素を持つ ArrayList を作成します。ここでは、4 つの要素 1030、1020、1010、および 1040 を持つ整数の ArrayList を作成しました。
ArrayList<Integer> arrList = new ArrayList<>();
arrList.add(1030);
arrList.add(1020);
arrList.add(1010);
arrList.add(1040);
ArrayList をソートするには、List の sort() メソッドを使用できます。これには、ArrayList の要素同士を比較するための Comparator 引数が必要です。ここでは、Comparator インターフェイスの comparing()
メソッドを使用して、ArrayList の要素を比較しています。そして最後に、ArrayList の sort()
メソッドを呼び出してソートします。
arrList.sort(Comparator.comparing(Integer::new));
ArrayList をソートした後、ソートされていることを確認するために、ソート済みの要素を表示できます。
System.out.println(arrList);
ArrayList をソートするために、Collections クラスの sort() メソッドも使用できます。これは、List の sort() メソッドと同じ原理で動作しますが、ソート対象のリストの引数をとります。
Collections.sort(arrList);
Collections の sort() メソッドを使用して ArrayList をソートした後、ソートされていることを確認するために、ソート済みの要素を表示できます。
System.out.println(arrList);
Java 8 以降のバージョンを使用している場合、stream API の sorted() メソッドを使って ArrayList をソートできます。ここでは、stream の sorted() メソッドを使って ArrayList をソートし、最後に、Collectors クラスの toList()
メソッドを使ってソート済みの stream を ArrayList に変換しています。
arrList = (ArrayList<Integer>)arrList.stream().sorted().collect(Collectors.toList());
stream API の sorted() メソッドを使用して ArrayList をソートした後、ソートされていることを確認するために、ソート済みの要素を表示できます。
System.out.println(arrList);
ArrayList をソートすることは、プログラミングにおいて重要な操作です。この実験では、List の sort()
メソッド、Collections クラスの sort()
メソッド、および stream API の sorted()
メソッドを使って ArrayList をソートする方法を学びました。また、ArrayList を作成し、その中の要素を表示し、ソートする方法も学びました。この実験があなたに Java で ArrayList をソートする方法を学ぶのに役立ったことを願っています。