标签:hashcode 方法 节点 返回值 数组 返回 判断 允许 排序
HashSet:LinkedHashSet:
数据结构 有两个 链表和哈希表
链表保证有序 哈希表保证元素唯一
TreeSet:
集合的特点: 元素唯一,并且可以对元素进行排序
底层的数据结构是二叉树
排序:
1:自然排序
2:使用比较器排序
采用空参构造时,就用的是自然排序,
自然排序要求元素必须实现一个Compareble 接口
并且重写接口中 compareTo 这个比较的方法,根据
此方法的返回值的正负0 来决定元素放置到树结构的
位置,以及不往里面方法
此类实现 Set 接口,由哈希表(实际上是一个 HashMap 实例)
支持。它不保证 set 的迭代顺序;特别是它不保证该顺序恒久不变。
采用比较器排序:你使用有参构造,参数就会要一个比较器
使用元素的自然顺序对元素进行排序,或者根据创建 set 时
提供的 Comparator 进行排序,具体取决于使用的构造方法。
此类允许使用 null 元素。
合理的重写hashCode方法的作用:
1.确定元素节点在哈希表中的存的位置,
2,减少调用equals方法()重写equals方法 当节点的索引相同时,去比较内容
标签:hashcode 方法 节点 返回值 数组 返回 判断 允许 排序
原文地址:https://blog.51cto.com/13852519/2386945