Set 集合

来源:互联网 发布:linux文件权限修改 编辑:程序博客网 时间:2024/05/16 09:47

Normal07.8 磅02falsefalsefalseMicrosoftInternetExplorer4/* Style Definitions */table.MsoNormalTable{mso-style-name:普通表格;mso-tstyle-rowband-size:0;mso-tstyle-colband-size:0;mso-style-noshow:yes;mso-style-parent:"";mso-padding-alt:0cm 5.4pt 0cm 5.4pt;mso-para-margin:0cm;mso-para-margin-bottom:.0001pt;mso-pagination:widow-orphan;font-size:10.0pt;font-family:"Times New Roman";mso-fareast-font-family:"Times New Roman";mso-ansi-language:#0400;mso-fareast-language:#0400;mso-bidi-language:#0400;}

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;

原创粉丝点击