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,因为快。
随机推荐
- 未能加载文件或程序集"xxxxxx"或它的某一个依赖项
错误:未能加载文件或程序集“xxx”或它的某一个依赖项.试图加载格式不正确的程序. 原因分析:操作系统是64位的,但发布的程序引用了一些32位的ddl,所以出现了兼容性的问题. 解决方案:IIS——应 ...
- netbeans下调试php程序-xdebug
环境说明: pc系统:ubuntu 16.04 php版本:5.6.23 apache:Apache/2.4.18 (Ubuntu) 第一步:修改xdebug.ini 打开文件/etc/php/5.6 ...
- [Training Video - 2] [Java Introduction] [Install Java and Eclipse, Create Class]
Download Java : https://java.com/en/download/ Download Eclipse : https://www.eclipse.org/downloads/ ...
- promise、resolve、reject、拦截响应
Promise是一个接口,它用来处理的对象具有这样的特点:在未来某一时刻(主要是异步调用)会从服务端返回或者被填充属性.其核心是,promise是一个带有then()函数的对象. 使用promise机 ...
- viewDidAppear在何时调用?
[viewDidAppear在何时调用] If the view belonging to a view controller is added to a view hierarchy directl ...
- .net二纬码标签打印
在企业开发中经常用到二纬码标签,本文详细介绍.net环境下整个二纬码解决方案. 开发环境 vs2008 DevExpress8.3 ThoughtWorks.QRCode (二纬码生成组件,高版 ...
- 服务器上创建git仓库
1. 在服务器上 su - git ,切换用户 2. 创建一个目录 mkdir test.git ,请注意带上 .git 扩展 3. 切换进入此目录,git init --bare ,初始化裸 ...
- laydate的使用
理论可以看看:http://blog.csdn.net/u013372487/article/details/50534034 下载包:链接:http://pan.baidu.com/s/1kUNQ6 ...
- iOS9 视频播放
self.videoFileURL = [NSURL URLWithString:[NSString stringWithFormat:@"file:///%@", self ...
- 团体程序设计天梯赛L2-024 部落 2017-04-18 11:31 274人阅读 评论(0) 收藏
L2-024. 部落 时间限制 120 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 在一个社区里,每个人都有自己的小圈子,还可能同时属于很多不 ...