java第9天课堂笔记 (Set)

 

1set集合是最简单的一种集合,集合中不按指定的方式排序,并且没有重复对象。

2set接口主要有两个实现类:HashSetTreeSet

   (1)HashSet:是按照哈希算法来进行存取集合中的对象,存取的速度比较快。

   (2)TreeSet:实现了SortedSet接口,具有排序的功能。

3HashSet类是按照哈希算法来存取集合中的对象,具有良好的存取和查找性能。当向集合中加入一个对象时,HashSet

  会调用对象的HashCode()方法来获得哈希码,然后根据这个哈希码进一步计算出对象在集合中的存放位置。

4、在Object类中定义了HashCode()Equals()方法,Object类的equals()方法按照内存地址比较对象,因此如果

  object1.equals(object2)true,则表明object1变量和Object2变量实际上引用的是同一个对象,那么object1

   object2的哈希码也是相同的。

  

5、两种排序:

   (1)自然排序:TreeSet调用对象的compareTo()方法比较集合中对象的大小,然后进行升序排列,这种排序的方式称为自然排序。

      Comparable接口有一个compareTo(Object obj)方法,返回的是整数类型。

       对于表达式x.compareTo(y),

       如果返回值为0,则表示xy相等;

       如果返回值大于0,则表示x大于y;

       如果返回值小于0,则表示x小于y;

   (2)客户化排序Comparetor有个compare(Type x,Type y)方法,用于比较两个对象的大小。

       compare(x,y)的返回值大于0时,表示x大于y;

       compare(x,y)的返回值小于0时,表示x小于y;

       compare(x,y)的返回值等于0时,表示x等于y;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值