List---来自Collection ,有个特有的ListIterator
-ArrayList 有序跟数组差不多,有角标,空间连续,查询快,至于具体的正删查改,你记得有那个,你多用就记住了
-- LinkedList 链表的存储结构,有角标,空间不连续,查询较慢,比较好玩的就是多了addFirst、addLast()、getFirst()、getLast()、reomveFirst()、removeLast()可以做堆栈(先进后出FILO),队列(先进先出FIFO)
--
Set---元素唯一,没有重复元素,次序,也是来自Collection
---HashSet 哈希表的存储结构,要覆盖hashCode()和equals() 不然就判断不了是否重复了,无序
--TreeSet 二叉树的存储结构, 次序,要覆盖hashCode()和equals(),一种是在元素类中实现Comparable接口覆盖compareTo(),还有一种是让集合有比较方法实现Comparator接口的compare()
Tree要排序
Map---<key,value>有个键值对,key唯一,值不唯一,没有Iterator接口,两个方法Set<key> keySet()和
Set<Map.Entry<key,value>> entrySet()
keySet()获得key的Set集合,通过Set集合的迭代器迭代每一个Key和get(key)获得的value;
entrySet()获得是Map.Entry<key,value>的Set集合,通过Set集合的迭代器 ,再通过Map.Entry<key,value>的getKey()和getValue()获得key和value
HashMap、TreeMap跟HashSet、TreeSet 用起来都差不多 |