Java集合 知识点笔记(二)
来源:互联网 发布:xampp1.7.3sql注入 编辑:程序博客网 时间:2024/06/03 17:40
11.向TreeSet中添加元素的时,只有第一个元素无须实现Comparable接口,后面添加的对象都必须实现Comparable接口,当然这不是一个好的做法,因为当试图从TreeSet中取出元素时,依然会引起classException异常。
12.EnumSet在内部一位向量的形式存储,这种存储形式非常紧凑高效,另外EnumSet集合不允许加入NULL值。
13.hash性能总是比TreeSet性能要好(特别是常用的添加、查询元素等操作)因为treeSet需要额外的红黑树算法来维护集合元素的次序,只有当需要一个保持排序的Set时,才应该使用TreeSet,否则都应该使用HashSet。
14.Vector具有很多的缺点,通常尽量少用Vector实现类。
15.ArrayList和Vector的显著区别是:
ArrayList是线程不安全的,当多个线程访问一个ArrayList是,则程序员必须通过手动保证该集合的同步性,但Vector集合是线程安全的,所以Vector的性能比ArrayList要低。
16.LinkedList是List的实现类,他是一个链表实现的List类,对于顺序访问集合中的元素进行了优化,特别是插入、删除元素、由于实现了Deque接口,因此可以当做栈来使用。
17.DEque代表了一个“双端队列”,双端队列可以同时从双端来添加、删除元素,因此Deque的实现即可以当成队列来使用,也可以当成栈来使用。
18.proprityQueue是一个比较标准的队列实现,他保存队列元素的顺序并不是按添加队列的顺序而是按照队列元素的大小进行重新排序。它已经违反了队列的基本原则-先进先出(FIFO),不允许插入null.
19.LinkedList不仅提供了List的功能,还提供了双端队列、栈的功能。
20.名称 实现机制 随机访问 迭代操作 插入操作 删除操作
数组 连续内存区保存元素 1 不支持 不支持 不支持
ArrayList/ArrayDeque 以数组保存元素 2 2 2 2
Vector 以数组保存元素 3 3 3 3
LinkedList 双向链表实现元素存储 4 1 1 1
- Java集合 知识点笔记(二)
- JAVA知识点总结(二)集合框架
- JAVAEE笔记 知识点二、集合
- Java集合 知识点笔记(一)
- JAVA集合知识点汇总<二> Set集合
- 黑马程序员:JAVA集合框架知识点二
- Java基础之集合知识点总结二
- Java基础之集合知识点总结二
- Java笔记十一.集合类(二)
- java学习笔记(二十二)集合
- java 集合知识点(未完)
- Java集合知识-笔记二
- 黑马程序员--集合知识点总结(二)
- 黑马程序员———Java基础------集合框架知识点总结(二)
- java集合(二)
- Java集合(二)
- Java集合(二)
- JAVA---------集合(二)
- Struts2 中的值栈的理解
- mysql workbench建表时的字段选项含义
- 整型变量 与 字符串变量
- firefox下载中文名文件乱码
- mysql性能
- Java集合 知识点笔记(二)
- matlab图像加噪
- 将成员函数写成类,从而实现扩展
- 利用递归创建目录和删除目录
- 随想录(windows和linux进行socket通信)
- ORA-00600: internal error code, arguments: [kdsgrp1]
- CentOS 6.2安装配置LAMP服务器(Apache+PHP5+MySQL)
- 轻松搞定chm文件制作
- BIT1052 poj1061青蛙的约会