集合(Map)

Map接口的常用实现类:HashMap、TreeMap、Properties

HashMap

HashMap是使用频率最高的实现类

允许使用null键和null值,与HashSet一样,不保证映射的顺序

HashMap判断像个key相等的标准是:两个key通过equals方法返回true,hashCode值也相等

HashMap判断两个value相等的标准是:两个value通过equals方法返回true  

 

LinkedHashMap

LinkedHashMap是HashMap的子类,与linkedHashSet一致,linkedHashMap可以维护map的迭代顺序,迭代顺序与key-value插入的顺序一致

 

TreeMap

TreeMap存储key-value对的时候,需要根据key-value对进行排序,treemap可以保证所有的key-value对处于有序状态

TreeMap的key排序:

自然排序:TreeMap的所有key实现Comparable接口,而且所有的key都是同一个类的对象,否则会抛出异常

定制排序:创建TreeMap的时候,传入一个Comparator对象,该对象负载对TreeMap的所有的key进行排序,此时不需要Map实现Comparable接口

TreeMap判断两个key相等的标准:两个key通过compareTo方法或者compare()方法返回0

若使用自定义的类作为TreeMap的key,所属类需要重写equals、hasCode方法,并且equals返回true,hasCode返回0

 

Hashtable

线程安全,不允许使用null作为key和value,不能保证key-value的顺序,判断key、value是否相同的方法与HashMap一致

 

 

Properties

Hashtable的子类,用于处理属性文件

Properties pros = new Properties();
pros.load(new FileInputStream("jdbc.properties"));
String user = pros.getProperty("user");
System.out.println(user);

 

posted @ 2018-05-07 12:40  coderlzb  阅读(131)  评论(0编辑  收藏  举报