java Collection 之Set使用说明

2016-02-19 10:12 0 1 收藏

生活已是百般艰难,为何不努力一点。下面图老师就给大家分享java Collection 之Set使用说明,希望可以让热爱学习的朋友们体会到设计的小小的乐趣。

【 tulaoshi.com - 编程语言 】

Set

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

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

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

HashSet

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

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

TreeSet

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

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

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

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

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/bianchengyuyan/)

class Obj implements ComparableObj {

 public int compareTo(Obj o)  {

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

} }

class Comptor implements ComparatorComptorObj {

 @Override

 public int compare(ComptorObj o1, ComptorObj o2) {

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

 } }

来源:https://www.tulaoshi.com/n/20160219/1593752.html

延伸阅读
    看到很多人在问,简单说说吧,以通常的固定ip的为例:1)安装 ―― 9块盘,注意硬盘内容会被删除!还有,机器内存不能小于 24 M安装过程中提示注册,注意注册码的大小写2)启动后,使用 admin 密码为空,进入3)设第一块网卡的ip:在提示付下输入setup命令,如果你的网卡是PCI的,会提示你设置ether1(就是第一块网卡),输...
标签: 电脑入门
软件名称:魔方小助手 软件语言:简体中文 软件授权:免费 适用平台:Winxp/vista/win7/2000/2003/ 一、软件安装 魔方小助的安装非常方便,第一步设置安装目录,如图(1)所示: 图(1) 选择开始菜单文件夹,如图(2)所示: 图(2) 最后是开机启动和浏览器设置,如图(3)所示: 图(3) 作为一款系统辅助工具,建议设置开机自启动...
MySQL的转义字符“\” mfc_basic MySQL识别下列转义字符: \0 一个ASCII 0 (NUL)字符。 \n 一个新行符。 \t 一个定位符。 制符分隔 \r 一个回车符。 \b 一个退格符。 \' 一个单引号(“'”)符。 \" 一个双引号(“"”)符。 一个反斜线(“\”)符。 \% 一个“%”符。它用于在正文中搜索“%”的文字实例,否则这里“%”将解释为一...
标签: 电脑入门
FtpRush是一个运行在微软 Windows 平台的高能 FTP/FXP/SFTP/TFTP 客户端,您可以使用 FTPRush 来进行文件上传下载和服务器对服务器传输。FTPRush 支持完全的界面自定义,您可以定制出你喜欢的界面布局和风格。通过内置的脚本功能您还可以轻松地制作自动化任务。此为适用于 Win2K/XP/2003 的 Unicode 版本。 第一:下载安装 下载地址:FtpR...
标签: Web开发
JavaScript中Math对象是是一个固有对象,提供基本数学函数和常数。使用方法: Math.[{property | method}] 其中property是必选项。Math 对象的一个属性名。 method是必选项。Math.对象的一个方法名。 JavaScript中Math对象不能用 new 运算符创建,如果试图这样做则给出错误。该对象在装载脚本引擎时由该引擎创建...

经验教程

531

收藏

7
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部