collection

来源:互联网 发布:古琴尺寸数据图 编辑:程序博客网 时间:2024/06/17 13:43
collection接口:有序重复的list接口 ,无序不重复的set接口
add,remove添加删除
list:有索引
      linkedlist适合插入删除,底层用链表实现,在内存中的位置不连续,可当作堆栈,队列来使用,线程不安全
      arraylist适合查找,底层用数组实现,在内存中连续,线程不安全,扩容1.5倍,是新版本
      vector数组方式实现,线程安全,扩容2倍,同步的,是老版本
      
set:没有索引
     hashset:底层包装了一个hashmap去实现,线程不安全,先调用哈希算法比较哈希值, 哈希值相同值不一定相同,后调用equals方法比较实际值,未重写过比较规则时不能只写equals方法,会出现错误
     treeset:treemap实现,具有排序功能,会调用compareTo方法比较元素大小,必须实现comparable接口
     linkedhashset:linkedhashmap实现,提高插入和删除元素的性能,用链表来维护元素的插入顺序
     EnumSet:专为枚举类型设计的集合,元素必须是枚举类型,不然会抛出异常,没有构造函数,只要调用allOf方法就能用
    
Map接口:以键值对的形式存在于集合中
put(key,value);remove(key),添加删除
get(key)通过key来获取value
     HashMap:key,value均可为空,线程不安全,效率高 Hashtable:key,value均不能为空,线程安全,效率低,propties是他的子类,键值都必须是string类型     linkedhashmap:继承了hashmap,用链表实现,怎么存入怎么取出(队列)
     EnumMap:key为枚举类型(数组实现) treeMap:底层是二叉树机构,可以对map集合中的键进行指定顺序的排序
    
    
Collection 和 Collections 的区别。
Collection 是集合类的上级接口,继承与他的接口主要有 Set 和 List
Collections 是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作
原创粉丝点击