Java集合(1)--Collection接口及其实现类

2017-12-04  本文已影响0人  Kylin824

Collections是其他集合类的根接口

Set、List、Queue是子接口,同样不能实例化

子接口下面的实体类(如ArrayList)才可以实例化。

Collections中没有get()方法,Lisi和ArrayList中才有,因为get()方法不是所有集合类的共性

HashSet集合存入一个元素时,会调用该对象的hashCode()方法得到该对象的hashCode值,根据hashCode值决定存放位置

Iterator接口 定义了4个方法:hasNext() next() remove() forEachRemaining() 用于遍历Collections中的元素

Set接口 线程不安全 多线程操作同一集合时需要同步

List接口(增加了与索引有关的方法)

有一个initialCapacity参数 默认为10 增加元素超过该数组长度时会自动增加

Queue接口 (模拟队列:先进先出)

ArrayList与ArrayDeque的实现机制相似,底层采用一个动态的,可重分配的Object[]数组来存储集合元素,当超容量时,系统在底层重新分配一个Object[]数组来存储集合元素

Vector也是以数组形式存储,但实现了线程同步,所以性能较低

LinkList与LinkedHashSet的实现机制,内部以链表的形式保存集合元素,随机访问时效率低,但插入,删除时性能高

List集合使用tips:

上一篇 下一篇

猜你喜欢

热点阅读