• java集合框架之Set


    Set集合

    元素不可以重复,是无序。

    方法与list相同

    HashSet:不保证set的迭代顺序,不同步,内部数据结构是哈希表

    如果存自定义对象则需要覆盖equals和hashCode方法

    先比较hashCode,如果hashCode相同再equals方法比较,如果仍然相同则判断元素相同不再入容器,即add()方法不会把元素添加进来

    LinkedHashSet:既有序又唯一

    TreeSet:可以对set集合中元素进行排序,是不同步的

             判断元素是否唯一的方式就是通过比较方法comparable是否返回0,返回0就是相等

    TreeSet对元素排序的方式一:

    让元素(存入的对象)实现comparable接口并覆盖comparable方法

    通过返回值(0,正数,负数)来判断大小并进行排序

    如果返回负数,说明要添加的元素大于被比较的元素,则把要添加的元素放在二叉树的右边

    相反…

    方式二:

    如果对象不具备自然排序,则可以让集合自身具备比较功能。

    通过TreeSet构造函数注入一个实现Comparator接口并覆盖了compare方法的类对象来进行排序;

    (注:当这两种方式同时使用时,会采用第二种方式)

  • 相关阅读:
    kernel 于ioctl申请书
    顺时针打印矩阵
    HDU 1557 权利指数 国家压缩 暴力
    从混沌到有序--熵
    分层思想总结
    什么是分层架构模式
    分层设计
    分层设计思想
    软件的生长方式
    设计模式、SOLID原则:组件与联系
  • 原文地址:https://www.cnblogs.com/orlion/p/4821100.html
Copyright © 2020-2023  润新知