Comparatorを作成してBean型のリストをソートする方法
備忘録
javaのバージョンが1.7でライブラリの追加できなかったのでComparatorを作成してBean型のリストをソートできるようにする方法。
beanクラス
public class Test {
private String keyCode = null;
private String time = null;
public String getKeyCode() {
return keyCode;
}
public void setKeyCode(String keyCode) {
this.keyCode = keyCode;
}
public String getTime() {
return time;
}
public void setTime(String time) {
this.time = time;
}
}
Comparatorクラス
import java.util.Comparator;
public class TestListCompare implements Comparator<Test> {
public int compare(Test o1, Test o2) {
String sortKey1 = o1.getKeyCode() + o1.getTime();
String sortKey2 = o2.getKeyCode() + o2.getTime();
return sortKey1.compareTo(sortKey2);
}
}
使い方
//リストをソートする 第1:keyCode、第2:time
Collections.sort(list, new TestCompare());
第1キーと第2キーを結合してcompareToで比較という流れ。
javaのversionが1.8以降もしくはライブラリ追加さえ出来ればもっと楽にできる…。
この記事が気に入ったらサポートをしてみませんか?