Java で ArrayList のオブジェクトを日付でソートする方法
Asad Riaz
2023年10月12日
-
comparable<>
メソッドは、Java の日付でArrayList
のオブジェクトを並べ替える -
Java で ArrayList のオブジェクトを日付順に並べ替える
collections.sort()
メソッド -
Array
のオブジェクトを Java の日付で並べ替えるlist.sort()
メソッド
Java では、ArrayList
内のオブジェクトを日付順に並べ替える複数のメソッドがあります。これらの並べ替えは、日付またはその他の条件に基づいて実行できます。たとえば、オブジェクトを comparable<>
、Collections.sort()
、および list.sort()
メソッドに作成します。
comparable<>
メソッドは、Java の日付で ArrayList
のオブジェクトを並べ替える
最初の方法は、オブジェクトを比較可能
にするとともに、クラス compareTo()
、compare()
、および collections.sort()
を使用することで機能します。DateItem
の新しいクラスを作成し、配列を並べ替えるために Comparator<DateItem>
インターフェイスを実装します。
コード例:
import java.util.*;
public class SimpleTesing {
static class DateItem {
String datetime;
DateItem(String date) {
this.datetime = date;
}
}
static class SortByDate implements Comparator<DateItem> {
@Override
public int compare(DateItem a, DateItem b) {
return a.datetime.compareTo(b.datetime);
}
}
public static void main(String args[]) {
List<DateItem> dateList = new ArrayList<>();
dateList.add(new DateItem("2020-03-25"));
dateList.add(new DateItem("2019-01-27"));
dateList.add(new DateItem("2020-03-26"));
dateList.add(new DateItem("2020-02-26"));
Collections.sort(dateList, new SortByDate());
dateList.forEach(date -> { System.out.println(date.datetime); });
}
}
出力:
2019-01-27
2020-02-26
2020-03-25
2020-03-26
Java で ArrayList のオブジェクトを日付順に並べ替える collections.sort()
メソッド
collections.sort()
メソッドは、ArrayList
で日付によるソートを実行できます。
コード例:
import java.util.*;
public class SimpleTesting {
public static void main(String[] args) {
List<String> dateArray = new ArrayList<String>();
dateArray.add("2020-03-25");
dateArray.add("2019-01-27");
dateArray.add("2020-03-26");
dateArray.add("2020-02-26");
System.out.println("The Object before sorting is : " + dateArray);
Collections.sort(dateArray);
System.out.println("The Object after sorting is : " + dateArray);
}
}
出力:
The Object before sorting is : [2020-03-25, 2019-01-27, 2020-03-26, 2020-02-26]
The Object after sorting is : [2019-01-27, 2020-02-26, 2020-03-25, 2020-03-26]
Array
のオブジェクトを Java の日付で並べ替える list.sort()
メソッド
Java の list.sort()
メソッドはラムダ式と組み合わせて、ArrayList
の date
による並べ替えを実行します。
コード例:
import java.util.*;
public class SimpleTesting {
public static void main(String[] args) {
List<String> dateArray = new ArrayList<String>();
dateArray.add("2020-03-25");
dateArray.add("2019-01-27");
dateArray.add("2020-03-26");
dateArray.add("2020-02-26");
System.out.println("The Object before sorting is : " + dateArray);
dateArray.sort((d1, d2) -> d1.compareTo(d2));
System.out.println("The Object after sorting is : " + dateArray);
}
}
出力:
The Object before sorting is : [2020-03-25, 2019-01-27, 2020-03-26, 2020-02-26]
The Object after sorting is : [2019-01-27, 2020-02-26, 2020-03-25, 2020-03-26]