示例數據結構
public class Item {
private Integer id;
private Integer sort;
private Date createTime;
}
// 排序數組
List<Item> list = new ArrayList<>();
根據創建時間逆序
list.sort(Comparator.comparing(Item::getCreateTime).reversed());
根據主鍵升序
// 版本1
list.sort((a, b) -> a.getId() - b.getId())
// 版本2
Collections.sort(list, Comparator.comparingInt(Item::getId));
// 版本3
list.sort(new Comparator<Object>() {
@Override
public int compare(Object o1, Object o2) {
if (o1.getId() > o2.getId()) {
return 1;
} else {
return -1;
}
}
});
簡單字符串排序
List<String> list = Arrays.asList("5","3","4","1","2");
// 版本1
list.sort(Comparator.comparingLong(i -> Long.parseLong(i)));
// 版本2
Collections.sort(list, Comparator.comparing(Long::parseLong));
簡單數字排序
List<Integer> data = Arrays.asList(1, 3, 5, 7, 9, 2, 4, 6, 8, 10);
Collections.sort(data);