当前位置:  编程技术>java/j2ee

java Collection 之Set使用说明

    来源: 互联网  发布时间:2014-10-24

    本文导语:  Set 一个不包含重复元素的collection,确切的讲,set不包含满足e1.equals(e2)的元素对e1,e2,并且最多包含一个null元素; 此实现不是同步的,如果多个线程同时访问一个set,而其中至少一个线程修改了该set,那么它必须保持外部同步,...

Set

一个不包含重复元素的collection,确切的讲,set不包含满足e1.equals(e2)的元素对e1,e2,并且最多包含一个null元素;

此实现不是同步的,如果多个线程同时访问一个set,而其中至少一个线程修改了该set,那么它必须保持外部同步,通常是通过对自然封装该set的对象执行同步操作来完成,如果不存在这样的对象,则:Collections.synchronizedSet();  

HashSet

集合中元素无顺序,不重复;数据结构是哈希表;

保证元素唯一性的原理:判断元素的HashCode值是否相同,若相同,还会继续判断元素的equals方法,是否为true; 当一个对象被存储进HashSet集合中后,就不能修改这个对象的那些参与计算哈希值的字段了,如果修改后就会造成内在泄漏;

TreeSet

可以对Set集合中的元素进行排序:

(1)让元素自身具备比较性,元素需要实现Comparable接口,覆盖compareTo方法,这种方式也成为元素的自然顺序;

(2)元素自身不具备比较性,或者具备的比较性不是所需要的,这时就需要让集合自身具备比较性。在集合初始化时就有了比较方式[定义比较器(Comparator接口),将它作为参数传给集合的构造函数]

以下两种方式为TreeSet需要实现的两种接口

class Obj implements Comparable {

 public int compareTo(Obj o)  {

  return this.name.compareTo(o.name);  

} }

class Comptor implements Comparator {

 @Override

 public int compare(ComptorObj o1, ComptorObj o2) {

  return o1.name.compareTo(o2.name);

 } }


    
 
 

您可能感兴趣的文章:

  • Java语法基础之函数的使用说明
  • java命名空间java.util接口collection<e>的类成员方法: containsall定义及介绍
  • 怎么在java中构造collection
  • java命名空间java.util接口collection<e>的类成员方法: removeall定义及介绍
  • Java里collection API怎么翻译啊?
  • java命名空间java.util接口collection<e>的类成员方法: retainall定义及介绍
  • java Collection 之List学习介绍
  • java命名空间java.util接口collection<e>的类成员方法: size定义及介绍
  • java命名空间java.util接口collection<e>的类成员方法: addall定义及介绍
  • java命名空间java.util接口collection<e>的类成员方法: isempty定义及介绍
  • java命名空间java.util接口collection<e>的类成员方法: clear定义及介绍
  • java命名空间java.util接口collection<e>的类成员方法: contains定义及介绍
  • java命名空间java.util接口collection<e>的类成员方法: iterator定义及介绍
  • java命名空间java.util接口collection<e>的类成员方法: remove定义及介绍
  • java命名空间java.util接口collection<e>的类成员方法: add定义及介绍
  • java命名空间java.util接口collection<e>的类成员方法: hashcode定义及介绍
  • java命名空间java.util接口collection<e>的类成员方法: toarray定义及介绍
  • java命名空间java.util接口collection<e>的类成员方法: equals定义及介绍
  • java命名空间java.security类policy的类成员方法: unsupported_empty_collection定义及介绍
  • java命名空间java.lang.management类memorynotificationinfo的类成员方法: memory_collection_threshold_exceeded定义及介绍
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • elasticsearch RESTful项目举例说明: java jest
  • 哪里可以下载到JAVA类库呀,最后有中文说明?
  • java的语法说明
  • java 2 基础类,哪里有完整的说明?
  • 求Java Servlet API说明文档!
  • 关于java编译过程中的bug说明
  • 高分求java.sql类库的类说明,函数及方法!
  • 哪有java类库中文说明和jdk1.3.1的中文文档?
  • java.lang.ClassCastException 这个是什么异常,能具体说明吗?
  • 基于java math API 的详细解释说明
  • 基于java枚举类综合应用的说明
  • 奇怪,Java中如何判别一个没有明确说明会抛出异常的函数到底会不会抛出异常
  • Java程序生成exe可执行文件详细教程(图文说明)
  • 初等问题:我刚安装上Java,却找不到Javac,按说明我去修改autoexec.bat,但是,我的autoexec.bat文件是空的.请问autoexec.bat文件的标准格式
  • 解析Java和Eclipse中加载本地库(.dll文件)的详细说明
  • Java缩略图生成库之Thumbnailator应用说明
  • java集合框架的体系结构详细说明
  • 谁能给我一个Java读取XML的例子,最好有注释和说明,小弟想了解JSP和XML结合编程的一些东西,找不下资料?
  • 请教:不靠库函数来分配和释放内存,JAVA可以自动的对内存进行管理。能详细说明吗?
  • java Tapestry4.1.2入门说明教程第1/2页
  • Java 正则表达式 解释说明
  • java命名空间java.sql类types的类成员方法: java_object定义及介绍
  • 我想学JAVA ,是买THINK IN JAVA 还是JAVA2核心技术:卷1 好???
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: imageflavor定义及介绍
  • 请问Java高手,Java的优势在那里??,Java主要适合于开发哪类应用程序
  • java命名空间java.lang.management类managementfactory的类成员方法: getcompilationmxbean定义及介绍
  • 如何将java.util.Date转化为java.sql.Date?数据库中Date类型对应于java的哪个Date呢
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getlibrarypath定义及介绍
  • 谁有电子版的《Java编程思想第二版(Thinking in java second)》和《Java2编程详解(special edition java2)》?得到给分
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getstarttime定义及介绍
  • 本人想学java,请问java程序员的待遇如何,和java主要有几个比较强的方向


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3