在使用Map集合时,我们可以任意的类型作为key或者value的存在,也就是说我们也可以使用自定义的类型作为key。但是作为key的自定义的类,必须要覆写hashcode和equals这2个方法,因为靠这2个方法才能确定元素是否重复,而在Map中指的是是否能够找到。
public class TestKey {
public static void main(String[] args) {
Map<String, Book> map = new HashMap<String,Book>();
map.put("Java", new Book("Java开发入门"));
System.out.println(map.get("Java"));
//把它反过来,让我们自定义的类Book作为key,前提是我们必须在Book类中覆写Object类之中的hashcode与equals这2个方法,因为只要靠这2个方法才能确定元素是否重复,而在Map中就代表是否能够找到
Map<Book, String> map2 = new HashMap<Book,String>();
map2.put(new Book("Java开发入门"), "Java");
System.out.println(map2.get(new Book("Java开发入门")));
}
}