public static void main(String[] args) { Map<Book,Integer> map=new TreeMap<>(); map.put(new Book("nihao",20),111); map.put(new Book("apple",10),222); map.put(new Book("orange",40),333); Book book1=new Book("nihao",20); System.out.println(map.get(book1)); System.out.println("----"); for(Book b:map.keySet()){ System.out.println(map.get(b)); }}
这里有一个有意思的事,就是我的Book类中并没有覆写equals方法,按照当时在HashMap中的实践,如果我的key没有覆写equals方法,实际上是没有办法获取value的。
但是`TreeMap`的行为与`HashSet`或`HashMap`不同。后者使用`equals`和`hashCode`方法来确定键的唯一性,而`TreeMap`则使用`compareTo`。
Sign in to make a reply
张卿长
这里有一个有意思的事,就是我的Book类中并没有覆写equals方法,按照当时在HashMap中的实践,如果我的key没有覆写equals方法,实际上是没有办法获取value的。
但是`TreeMap`的行为与`HashSet`或`HashMap`不同。后者使用`equals`和`hashCode`方法来确定键的唯一性,而`TreeMap`则使用`compareTo`。