[問題セット]Collections.sortはどのように並べ替えても、無効な値を後ろに並べたい
977 ワード
@Test
public void sortTest(){
List aList = new ArrayList();
// null -- , ,
aList.add("8");
aList.add("0");
aList.add("3");
aList.add("19");
aList.add(null);
aList.add("--");
aList.add(null);
aList.add("--");
aList.add("3");
aList.add("19");
Collections.sort(aList, (a, b) -> {
if((a == null || a.equals("--")) && (b == null || b.equals("--"))){
return 0;
}
if(a == null || a.equals("--")){
return 1;
}
if(b == null || b.equals("--")){
return -1;
}
return -new BigDecimal(a).compareTo(new BigDecimal(b));
});
log.info(aList + "");
}