实体类
import lombok.Data; @Data public class Book { private Integer price; } 实现比较器
@Test void contextLoads() { TreeMap<Integer, Book> bookMap = new TreeMap((Comparator<Book>) (o1, o2) -> o1.getPrice() - o2.getPrice()); Random random = new Random(); for (int i = 0; i < 20; i++) { Book book = new Book(); book.setPrice(random.nextInt(1000)); bookMap.put(i, book); } bookMap.forEach((k, v) -> System.out.println("key = " + v + "value = " + v)); }
结果:
key = Book(price=16)value = 19
key = Book(price=50)value = 1
key = Book(price=123)value = 10
key = Book(price=224)value = 14
key = Book(price=262)value = 9
key = Book(price=326)value = 17
key = Book(price=361)value = 15
key = Book(price=391)value = 2
key = Book(price=393)value = 16
key = Book(price=399)value = 11
key = Book(price=410)value = 4
key = Book(price=565)value = 7
key = Book(price=663)value = 8
key = Book(price=669)value = 6
key = Book(price=673)value = 12
key = Book(price=687)value = 5
key = Book(price=693)value = 3
key = Book(price=748)value = 18
key = Book(price=833)value = 13
key = Book(price=996)value = 0