Java集合框架
2018-11-10 本文已影响2人
三年级一班亚索
参考:
JAVA集合框架中的常用集合及其特点、适用场景、实现原理简介 > https://blog.csdn.net/sdgihshdv/article/details/72566485
Java中所有的集合类由两个接口衍生而来: Collection接口和Map接口
Collection接口的主要方法
- size() - 集合内的对象数量
- add(E) / addAll(Collection) - 向集合内添加单个 / 批量对象
- remove(Object) / removeAll(Collection) - 从集合内删除单个 / 批量对象
- contains(Object) / containsAll(Collection) - 判断集合中是否存在某个 / 某些对象
- toArray() - 返回包含集合内所有对象的数组
Map接口的主要方法
- size()
- put<K, V> / putAll(Map)
- remove(K)
List类集合
- get(int) - 返回指定index位置上的对象
- add(E)/add(int, E) - 在List末尾/指定index位置上插入一个对象
- set(int, E) - 替换置于List指定index位置上的对象
- indexOf(Object) - 返回指定对象在List中的index位置
- subList(int,int) - 返回指定起始index到终止index的子List对象
Vector
Vector和ArrayList很像,都是基于数组实现的集合,它和ArrayList的主要区别在于
- Vector是线程安全的,而ArrayList不是
- 由于Vector中的方法基本都是synchronized的,其性能低于ArrayList
- Vector可以定义数组长度扩容的因子,ArrayList不能
ConcurrentHashMap
ConcurrentHashMap是HashMap的线程安全版(自JDK1.5引入),提供比Hashtable更高效的并发性能。
Set类集合
Set 接口继承Collection,用于存储不含重复元素的集合。几乎所有的Set实现都是基于同类型Map的,简单地说,Set是阉割版的Map。