012--集合详解之Collection+面试题

VIP免费
2024-12-11 3 0 120.28KB 10 页 5.9玖币
侵权投诉
集合详解之 Collecon + 面试题
先来看看集合的继承关系图,如下图所示:
enter image description here
其中:
外框为虚线的表示接口,边框为实线的表示类;
箭头为虚线的表示实现了接口,箭头为实线的表示继承了类。
为了方便理解,我隐藏了一些与本文内容无关的信息,隐藏的这些内容会在后面的章节中
进行详细地介绍。
从图中可以看出,集合的根节点是 Collection ,而 Collection 下又提供了两大常用集合,
分别是:
• List:使用最多的有序集合,提供方便的新增、修改、删除的操作;
• Set:集合不允许有重复的元素,在许多需要保证元素唯一性的场景中使用。
下面我们分别对集合类进行详细地介绍。
集合使用
1Vector
Vector Java 早期提供的线程安全的有序集合,如果不需要线程安全,不建议使用此集
合,毕竟同步是有线程开销的。
使用示例代码:
Vector vector = new Vector();
vector.add("dog");
vector.add("cat");
vector.remove("cat");
System.out.println(vector);
程序执行结果:[dog]
2ArrayList
ArrayList 是最常见的非线程安全的有序集合,因为内部是数组存储的,所以随机访问效
率很高,但非尾部的插入和删除性能较低,如果在中间插入元素,之后的所有元素都要后
移。ArrayList 的使用与 Vector 类似。
3LinkedList
LinkedList 是使用双向链表数据结构实现的,因此增加和删除效率比较高,而随机访问效
率较差。
LinkedList 除了包含以上两个类的操作方法之外,还新增了几个操作方法,如 offer()
peek() 等,具体详情,请参考以下代码:
LinkedList linkedList = new LinkedList();
// 添加元素
linkedList.offer("bird");
linkedList.push("cat");
linkedList.push("dog");
// 获取第一个元素
System.out.println(linkedList.peek());
// 获取第一个元素,并删除此元素
System.out.println(linkedList.poll());
System.out.println(linkedList);
程序的执行结果:
dog
dog
[cat, bird]
4HashSet
HashSet 是一个没有重复元素的集合。虽然它是 Set 集合的子类,实际却为 HashMap 的实
例,相关源码如下:
public HashSet() {
map = new HashMap<>();
}
因此 HashSet 是无序集合,没有办法保证元素的顺序性。
摘要:

集合详解之Collection+面试题先来看看集合的继承关系图,如下图所示:enterimagedescriptionhere其中:•外框为虚线的表示接口,边框为实线的表示类;•箭头为虚线的表示实现了接口,箭头为实线的表示继承了类。为了方便理解,我隐藏了一些与本文内容无关的信息,隐藏的这些内容会在后面的章节中进行详细地介绍。从图中可以看出,集合的根节点是Collection,而Collection下又提供了两大常用集合,分别是:•List:使用最多的有序集合,提供方便的新增、修改、删除的操作;•Set:集合不允许有重复的元素,在许多需要保证元素唯一性的场景中使用。下面我们分别对集合类进行详细地...

展开>> 收起<<
012--集合详解之Collection+面试题.docx

共10页,预览2页

还剩页未读, 继续阅读

声明:本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。玖贝云文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知玖贝云文库,我们立即给予删除!
分类:计算机 价格:5.9玖币 属性:10 页 大小:120.28KB 格式:DOCX 时间:2024-12-11

开通VIP享超值会员特权

  • 多端同步记录
  • 高速下载文档
  • 免费文档工具
  • 分享文档赚钱
  • 每日登录抽奖
  • 优质衍生服务
/ 10
客服
关注