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()方法实现对集合的遍历。
Java集合框架总结
猜你喜欢
转载自ming19880125.iteye.com/blog/1846684
今日推荐
周排行