一、概述
概念:也称为容器,我们把集合保存的东东称为元素
二、继承体系
1) java.util.Collection 接口(存放单个元素)
--子接口java.util.List 列表,是可以放入重复元素,支持随机访问(有下标)
->ArrayList(*) 使用数组实现
->LinkedList(*)使用链表实现
->Vector(已过时)
->Stack(已过时)
--子接口java.util.Set 不可以放入重复元素,不支持随机访问(无下标)
->HashSet(*) hash算法实现,不支持随机访问
->TreeSet 具有排序功能的set
--子接口java.util.Queue接口 队列
->ArrayBlockingQueue 基于数组阻塞队列
->LinkedBlockingQueue 基于链表的阻塞队列
->子接口java.util.Deque 双端队列
->ArrayDeque
->LinkedBlockingDeque
->LinkedList
2)java.util.Map接口 (字典,映射,存放键值对元素) 键值对(key=value)
->HashMap(*) hash算法实现 以键为主,是否重复仅判断键
结构如下:
[{key=value},{key=value},{key=value}...]
在Map内部有个Map.Entry接口来表示键值对这种结构
所以其结构又可以表示如下:
[Map.Entry,Map.Entry,Map.Entry...]
->LinkedHashMap 链表实现的hashMap,保证迭代顺序(插入顺序)
->Hashtable 线程安全的(已过时)
->Properties(*) 键和值都是字符串的属性集
--子接口java.util.concurrent.ConcurrentMap
->ConcurrentHashMap 支持并发,线程安全
--子接口java.util.SortedMap
->TreeMap 带排序功能的map
三、重点掌握
1)Collection下的
ArrayList
LinkedList
HashSet
2)Map的实现类
HashMap/LinkedHashMap
Properties