Set的总结
Set最重要的操作是查找,为查找而设计。存入HashSet的元素必须定义hashCode();
Set不保存重复的元素,元素必须唯一。通过equals()方法一确保对象的唯一性。
Set中最常被用于归属性,可以很容易的询问某个对象是否在Set中。Set是基于对象的值来确定归属性的,contains()测试Set的归属性。
Set具有Collection完全一样的接口,没有额外的功能。Set就是Collection,只是行为不同。
HashSet专门对快速查找进行了优化。
HashSet内部数据结构是哈希表,不同步。
HashSet使用了散列,所以输出是没有规律的无序的,但是速度快。
TreeSet将元素存储在红-黑数数据结构中。
TreeSet中元素必须实现Comparable接口,此接口中comparaTo()比较对象与制定对象的顺序。
TreeSet可以对集合中的元素进行排序,结果也是排序的,不同步。
LinkedHashSet具有HashSet的查询速度,且内部使用链表维护元素插入的顺序。在迭代遍历Set时,
结果会按插入的次序显示。元素也饿必须定义hashCode()方法。
常用HashSet,因为快。
随机推荐
- Golang之文件读写
读写文件,不添加文件路径,默认写入到GOPATH路径下 终端读写: 源码 func Sscanf func Sscanf(str string, format string, a ...interfa ...
- [C++] Test question(1-16)
code: C++ don't have static class
- Spring Boot配置FastJson报错'Content-Type' cannot contain wildcard type '*'
升级到最新版本的fastjson以后报的错,查了一下资料,发现 fastjson从1.1.41升级到1.2.28之后,请求报错:json java.lang.IllegalArgumentExcept ...
- Monokai风格的EditPlus配色方案
EditPlus的配置文件editplus_u.ini,该文件默认在:系统盘:\Users\用户名\AppData\Roaming\EditPlus目录中.将其中的内容替换为如下即可: [Option ...
- 安装完 swoole 后出现 PHP Warning: PHP Startup: Unable to load dynamic library 'swoole.so'的解决方法
安装完 swoole 后出现 PHP Warning: PHP Startup: Unable to load dynamic library 'swoole.so' (tried: /home/s ...
- 移动lob类型索引到指定表空间
WWWNEWSAD 为表名 USERS 为原表空间 CONTENT 为lob类型的字段 DATA_INDEX_WXZJ 指定的表空间 ALTER TABLE WWWNEWSAD MOVE TABLES ...
- HBase的FlushLargeStoresPolicy多例族支持
众所周知,HBase的一个例族flush时,会导致所有例族都跟着被flush.在HBase-0.94的官方说明(http://hbase.apache.org/0.94/book/number.of. ...
- xib下这种方式创建cell
这种方法在iOS5.0之前是不能够创建成功的. MEConvertListTableViewCell *cell = [tableView dequeueReusableCellWithIde ...
- loadrunner - 问题汇总及解决方案(持续更新)
1.在此界面点击Run Load Tests提示: ”Can not save the license information because access to the registry is de ...
- java并发编程实战:第十五章----原子变量与非阻塞机制
非阻塞算法:使用底层的原子机器指令(例如比较并交换指令)代替锁来确保数据在并发访问中的一致性 应用于在操作系统和JVM中实现线程 / 进程调度机制.垃圾回收机制以及锁和其他并发数据结构 可伸缩性和活跃 ...