Java集合框架总结

Java集合接口: Collection 和Map,Set,List和Queue继承了Collection。

常用的集合类
  Map:HashMap(重要)和Hashtable
  区别:HashMap允许键和值为null,Hashtable不允许。
      HashMap实现不是多线程同步,Hashtable是多线程同步。
  Set: HashSet (重要)和TreeSet
  HashSet 是基于HashMap实现的,TreeSet是基于TreeMap实现的。
  HashSet 和TreeSet底层都采用Map的key来保存所有元素。
  List:ArrayList(重要),LinkedList(重要) 和 Vector
  区别:ArrayList和Vector采用数组方式存储数据,LinkedList使用双向链表实现。
        Vector实现是线程安全,ArrayList和LinkedList不是线程安全。
        ArrayList和Vector索引快插入数据慢,LinkedList索引慢插入数据快。
  
集合拓展
  Arrays是操作数组的工具类,Collections是操作集合的工具类。
  Stack继承自Vector,实现了后进先出的堆栈,也是线程安全的。
  TreeMap间接的实现了继承了List接口的SortedMap接口,用Iterator 遍历TreeMap时,得到的记录是排过序的。
  TreeSet间接的实现了继承了Set接口的SortedSet接口。TreeSet是一个有序集合,它的元素按照升序排列。
  数组和集合的区别:数组可以存储基本数据类型和对象引用类型,集合不能储存基本数据类型,需要将基本数据类型转换成对应的包装类型。
  Iterator 本身是一个接口,每个集合类都有一个iterator()方法,返回一个Iterator迭代器,通过这个迭代器的next()方法实现对集合的遍历。

你可能感兴趣的:(list,map,set,Collection)