Stories

Detail Return Return

Java 常用排序 - Stories Detail

示例數據結構

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);
user avatar u_16297326 Avatar u_17513518 Avatar u_13529088 Avatar
Favorites 3 users favorite the story!
Favorites

Add a new Comments

Some HTML is okay.