当前位置:首页 > 芯闻号 > 充电吧
[导读]关于Java中的集合--Set派系(三)                  1. Set集合 的特点 Set下有以下小弟: 哈希表HashSet,二叉树TreeSet  特点: 不允许存储重复元素,没

关于Java中的集合--Set派系(三)                  
1. Set集合 的特点 Set下有以下小弟: 哈希表HashSet,二叉树TreeSet  特点: 不允许存储重复元素,没有下标,无序集合,存储的顺序和取出的顺序不一定一致              Set接口中的方法,和Collection中的方法一致的 //====================================================== 2. HashSet集合   底层是哈希表结构(桶装结构)   特点:线程不安全,允许存储null,无序,不重复
  哈希值: 每一个对象,都有自己的哈希值。哈细值的出现就是为了提高哈希表的性能。哈希值是一个对象建立后,JVM根据哈希算法,计算出来的一个十进制数。这个十进制数就是哈希值。例如:     Person@123EA21    ,123EA21 哈希值,哈希值不是地址值
    在Object类中,有一个方法hashCode()计算哈希值的,是本地方法          HashSet集合,存储对象的时候, 依据是对象的哈希值码。     如果对象的哈希值一致,再次比较equals     返回真,同一个对象,不存储     返回假,后进来的对象,像笼屉一样,挂靠在上一个对象的下面     哈希值,存储的是哈希值,桶状结构    当将对象存储到HashSet集合的时候,集合首先会调用对象的hashCode方法,获取哈希值    ,如果两个对象的哈希值一致,再次调用equals方法。
   对于 两个对象    如果哈希值相同 ,equals 一定返回真吗 No    如果equals返回真,两个对象一定具有相同的哈希值吗 YES    自定义定的对象,被存储到HashSet集合,必须重写hashCode equals方法
  //====================================================== 3. TreeSet 集合    TreeSet集合,对存储到的对象进行自然排序,底层结构二叉树      TreeSet集合,需要对存储的对象进行排序,TreeSet集合排序的依据是什么?    依据的是对象的自然顺序,凡是实现了Comparable接口的,都叫做自然顺序      存储的是String类对象,被TreeSet排序了,并且没有异常    String类实现了Comparable接口    String类,比较自然顺序的方法compareTo      s1.compareTo(s2)      如果s1 比 s2 小 小于0      如果s1 比 s2 大 大于0      如果s1 和s2一样 返回0   存储字符串的时候,TreeSet集合,会调用String类中的compareTo方法,实现排序
    TreeSet(Comparator comparator)   构造一个新的空 TreeSet,它根据指定比较器进行排序。   TreeSet集合,构造方法中,传递一个参数,Comparator类型   Comparator是一个比较器,用来比较对象的     java.lang.Comparable 实现接口,类具备了自然顺序   java.util.Comparator 比较器,比较器优先
    定义类,实现Comparator接口   建立TreeSet对象的时候,在构造方法中,传递接口的实现类对象   TreeSet集合,就会安照自定义的比较器进行排序了     自定义定义比较器三步骤     定义类,实现java.util.Comparator接口     重写compare方法     建立TreeSet集合,传递比较器对象 //====================================================== 4. TreeSet集合案例    集合中存储String对象,按照长度排序,如果长度一致,按照字典顺序排序    String类,自己具备自然顺序,实现长度排序,自己写比较器 /*  * 字符串的长度排序  */ import java.util.*; public class TreeSetTest {  public static void main(String[] args) {   TreeSet ts = new TreeSet(new StringLengthSort());   ts.add("ewasgwr");   ts.add("tfsc");   ts.add("32qew");   ts.add("gfds");   ts.add("jthrdshrgdfs");   ts.add("qwe");     Iterator it = ts.iterator();   while(it.hasNext()){    System.out.println(it.next());   }  } } /*  * 自定义比较器,实现String的长度排序  */ class StringLengthSort implements Comparator{  public int compare(Object o1,Object o2){   String s1 = (String)o1;   String s2 = (String)o2;   int num = s1.length() - s2.length();   return num == 0 ? s1.compareTo(s2) : num;  } }
  //====================================================== 5. LinkedHashSet     有序的Set集合,怎么存储怎么取出
import java.util.*; public class LinkedHashSetDemo {  public static void main(String[] args) {   LinkedHashSet lhs = new LinkedHashSet();   lhs.add("fef");   lhs.add("etfs");   lhs.add("wqerds");   lhs.add("gvd");   lhs.add("sfdx");   System.out.println(lhs);     Iterator it = lhs.iterator();   while(it.hasNext()){    System.out.println(it.next());   }  } }

                  

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

业内消息,近日Alphabet旗下谷歌公司发言人表示为控制成本正在进行最新裁员,但具体人数不详。该发言人表示,裁员并非全公司范围,受影响的员工将能够申请内部职位,但没有具体说明受影响的员工人数或涉及的团队。

关键字: 谷歌 裁员

几天前,以南印度组织零售商协会(ORA)为代表的20多家零售连锁店和4300家商店宣布将从5月1日起停止销售一加设备。4月17日,全印度移动零售商协会(AIMRA)代表印度15万多家线下智能手机零售商通知一加,其成员正在...

关键字: 印度 一加 小米 Poco

业内消息,近日光刻机制造商阿斯麦(ASML)公布了2024年第一季度业绩,财报显示,该公司当季总净销售额53亿欧元,环比下降27%;毛利率51.0%,上季度为51.4%;净利润12亿欧元(当前约92.4亿元人民币),环比...

关键字: 光刻机 ASML

近日有韩媒称,由于薪资谈判破裂,劳资双方未能缩小对涨薪的意见分歧,三星电子全国工会(NSEU)即日起将发起公司成立以来首次集体行动,工会当天在华城市(Hwaseong)京畿道华城园区的组件研究大楼(DSR)前举行文化活动...

关键字: 三星

昨天上午,华为终端官微宣布全新重磅新机开售,约一分钟线上即告售罄,线下门店排起长队,气势丝毫不输苹果,和 Mate 60 Pro 一样没有发布会,这次官方同样推出了 “HUAWEI Pura 70 系列 先锋计划”,可以...

关键字: 麒麟芯片 华为

上海2024年4月16日 /美通社/ -- 4月14日,为期四天的第89届中国国际医疗器械博览会(CMEF)盛大收官。澳鹏Appen很荣幸再次作为唯一的人工智能训练数据参展商参与此次"航母级"规模医疗...

关键字: APP 医疗器械 PEN 模型

基于大语言模型研发的品牌定制化AI客服解决方案,获得业界高度认可 上海2024年4月16日 /美通社/ -- transcosmos集团(中文名:大宇宙集团;以下简称:transcosmos)于2024年4月11日在C...

关键字: TRANS TI COSMOS AI

针对光伏优化器(MPPT)的非隔离DC-DC升压电路,推荐瑞森半导体低压MOS-SGT系列。极低导通电阻,低损耗,高雪崩耐量,高效率,非常适合高频应用。

关键字: 光伏优化器 MPPT

IDC近日发布的全球智能手机市场初步数据显示,苹果iPhone全球销量在今年一季度的销量下降了9.6%。

关键字: iPhone 苹果 端侧AI

最近固态电池突然变得火爆,好消息不断。4月12日广汽研究院发布消息称,全固态电池能量密度达到400Wh/Kg以上,体积能量密度提升52%,质量能量密度提升50%,可轻松实现超1000公里续航,全固态电池计划2026年上市...

关键字: 固态电池汽车 固态电池
关闭
关闭