关于JAVA中的集合的相关总结(2)
Map接口:一个"格子"里存放key value键值对儿,所有的键是唯一的,可以组成set 可以重复值,但无顺序 具体方法见api
实现类:HashTable,子接口:SortedMap实现类:HashMap实现类:EnumMap
先说HashTable
线程安全 效率低 不允许使用null作为key和value 其子类:Properties:把Map对象和属性文件关联起来 具体方法见api在windows系统下属性文件常以.ini进行结尾,在Java中属性文件以.properties结尾。=
之后说子接口:SortedMap
实现类:TreeMap: 具体方法见api,分为自然排序和定制排序
自然排序:(1)TreeMap的所有key必须实现Comparable接口,而且所有的key应该是同一个类的对象,否则抛出ClassCastException(类型转换异常)。
定制排序:(2)创建TreeMap对象时,传入一个Comparator对象,该对象负责对TreeMap中的所有key进行排序。采用定制排序时不需要key实现Comparable接口。
实现类:HashMap
线程不安全 效率高 子类:LinkedHashMap: 维护顺序
实现类:EnumMap
EnumMap是一个与枚举类一起使用的Map实现,EnumMap根据key的自然顺序,即在枚举类中的定义顺序来维护key-value对的顺序。创建EnumMap时必须指定一个枚举类,从而与使EnumMap和指定枚举类关联起来。EnumMap不允许使用null作为key,但允许使用null作为value。