南宁伯才网络公司做网站好吗,母版做双语网站,随州网站建设有哪些,有名的外贸公司Set集合 #xff1a; 元素无序的#xff0c;元素不允许重复。 ----HashSet : 存值方式使用哈希表来存值的。 原理 #xff1a; 如果HashSet中存放对象 ,首先会调用对象的hashCode方法获取到哈希值#xff0c;通过哈希值做移为等运算#xff… Set集合 元素无序的元素不允许重复。 ----HashSet : 存值方式使用哈希表来存值的。 原理 如果HashSet中存放对象 ,首先会调用对象的hashCode方法获取到哈希值通过哈希值做移为等运算 计算出元素在哈表中存储的位置。 情况一如果算出的位置没有任何元素可以直接将对象存放在该位置。 情况二:如果算出的位置存在元素这个时候会调用将要存入的元素的equals方法和已经存在的元素做对比 如果equals返回的是true那么就表示是重复元素如果equals返回的是false直接将元素一样保存在该位置。 ----TreeSet : 里面存放的元素会根据自然顺序进行排序。 使用注意点 1.如果添加的元素存在自然排序的特性那么存入的元素就会通过自然排序进行排序。 2.如果添加的元素不具备自然排序的特性那么着个时候必须要实现Comparable接口将元素的比较规则定义到ComparTo方法中 comparTo的比较规则: 返回一个0负数或正数 分别表示相等小于和大于。 3.如果添加的元素不具备自然排序的特性又没有实现Comparable接口 这个时候需要写在创建TreeSet对象是传一个比较器。 比较器的定义方式 自定义一个类实现Comprator接口 同实现Comprator中compar(Object o1 ,Objecto1)来指定元素比较的规则。 规则:返回一个0负数或正数 分别表示相等小于和大于。 TreeSet:底层是使用二叉树来存放数据的。 转载于:https://www.cnblogs.com/houjiie/p/6121891.html