Map的元素是“key-value”对,其中key可以是任何类型,key不能重复,每个key对应一个value,所以它的添加元素不是用add方法,而是使用put(key:Object,value:Object):Object。可以使用keySet()、entrySet()返回对应的key、value的规则集(SET),可以使用containsKey(key:Object)、containsValue(value:Object)判断是否存在对应key或value。
它的具体实现子类包括HashMap、LinkedHashMap、TreeMap。
HashMap的元素对的存储是没有按顺序的,其索引的效率也是最高的;LinkedHashMap可以按元素对的存储的先后顺序存储,也可以俺访问的顺序存储,其顺序是先早后晚,也就最近刚访问的排在最后面,但这种俺访问顺序存储的构造函数得使用LinkedHashMap(initialCapacity, loadFactor, true);TreeMap的元素对按key的顺序进行排序,所以key必须实现Comparable或Comparator接口,实现Comparator比较器的TreeMap必须使用TreeMap(Comparator comparator)构造函数。
Collections类是对集合、图进行管理的工具类。
创建同步集合、图,创建只读集合、图,创建单元素或元素对的集合、图,可以对List进行排序(sort)、查找(binarySearch)、填充(fill)、打乱顺序(shuffle)、复制(copy)、倒置(reverse),可以将一个值o复制n份副本生成一个List,可以对Collection进行求最大最小值(max、min),等等。
Arrays类是对数组进行操作的工具类。
关于Java的集合框架就学这么多,如果还有更好的集合、或者我的理解中有错误的请大家来一起交流、一起学习!
可以用一个数组生成一个对应的List(asList),可以对数组元素进行排序(sort)、查找(binarySearch)、比较(equals)、填充(fill),等等。
关于Java的集合架构就学到这里,如果有更好的集合或者我的理解有错误的请大家指出来,一起交流一起学习!