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,因为快。

随机推荐

  1. Thrift 实现 JAVA,PHP,C#,Python 互相通信

    Thrift介绍   https://www.ibm.com/developerworks/cn/java/j-lo-apachethrift/index.html 首先需要下载 Thrift.exe ...

  2. oracle返回最大值一条记录

    虽然网上例子很多,但是试过多种办法都无效,原代码出处: https://blog.csdn.net/qyshibb/article/details/73332075 这个例子简单有效 select p ...

  3. Linux中逻辑卷(LVM)管理基本操作

    1.创建逻辑卷 原文:https://linux.cn/article-3965-1.html

  4. c++ vector反转reverse

    template <class BidirectionalIterator> void reverse ( BidirectionalIterator first, Bidirection ...

  5. Java反射API研究(4)——Class中的重要对象

    一.Constructor与Method的父类:Executable Executable表示一个可执行类,构造方法与普通方法都是Executable AnnotatedType[] getAnnot ...

  6. Tips and Examples Using FNDLOAD (DOC ID 735338.1)

    In this Document Goal Solution Some Tips About FNDLOAD Some sample examples Diagnostics & Utilit ...

  7. WINSOCK网络函数

    1. 头文件及库文件 头文件:WINSOCK2.H 库:WS2_32.LIB库 如果是在WINCE中,不支持SOCK2,所以: 头文件:WINSOCK.H 库:WSOCK32.LIB 如果从MSWSO ...

  8. md1

    a b link to baidu 我不懂啊 这是什么意思 http://example.com/ 这里是一段代码' adsfasdf 你 你输得算好了 反正就这样吧,大概也值能这样了注 我想写一段引 ...

  9. Cockroachdb 三、副本设置

    三 副本配置 CockroachDB 副本配置可分为三个等级,集群级别>数据库级别>表级别 格式 YAML range_min_bytes: <size-in-bytes> / ...

  10. JQuery中DOM操作(一)

    节点操作 1.插入节点,在JQuery中插入的节点方法很多,可以满足各种不同的节点插入的情况,根据不同的插入方式分为:增加环绕节点.节点内部插入和外部插入三种方式 今天我们要讲的是增加环绕节点,它有三 ...