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. c++程序的多文件组织

    当程序规模变大后,一个程序用多个文件组织,便于组织生产.这样,不必每次都重复对所有代码进行编译,而只需编译一次即可.把编译后所形成的目标文件保存起来,以后在需要时把它调出来直接与程序的目标文件相连接即 ...

  2. mac下yii安装

    下载https://github.com/yiisoft/yii2-app-advanced/releases,里边没index.php文件 1.http://www.yiichina.com/que ...

  3. jmeter 常用函数

    ${__Random(10000000,19999999,str)};vars.put("msisdn","182"+${__evalVar(str)});

  4. Java常用的输出调试技巧

    --------siwuxie095                 Eclipse 开发中常用的输出调试技巧:     先在左侧的 Package Explorer,右键->New->J ...

  5. mysql添加表注释、字段注释、查看与修改注释

    1 创建表的时候写注释create table test1( field_name int comment '字段的注释')comment='表的注释'; 2 修改表的注释alter table te ...

  6. sqlserver 2017 linux还原windows备份时的路径问题解决

    windows的备份由于路径问题,在Linux上会报错 File 'YourDB_Product' cannot be restored to 'Z:\Microsoft SQL Server\MSS ...

  7. 关闭Found duplicated code

    IDEA中的这个“发现重复代码 - Found duplicated code“的这个提示甚是烦躁. Settings —> Editor —> Inspections —> Gen ...

  8. Java程序设计19——类的加载和反射-Part-A

    1 本文概要 本章介绍Java类的加载.连接和初始化的深入知识,并重点介绍Java反射相关的内容.本章知识偏底层点,这些运行原理有助于我们更好的把我java程序的运行.而且Java类加载器除了根加载器 ...

  9. json解析2

    客户端与服务器进行数据交互时,常常需要将数据在服务器端将数据转化成字符串并在客户端对json数据进行解析生成对象.但是用jsonObject和jsonArray解析相对麻烦.利用Gson和阿里的fas ...

  10. http://4526621.blog.51cto.com/4516621/1343369

    http://4526621.blog.51cto.com/4516621/1343369