java Collection 之Set使用说明

DT0Q0Z

DT0Q0Z

2016-02-19 10:12

生活已是百般艰难,为何不努力一点。下面图老师就给大家分享java Collection 之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 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://m.tulaoshi.com/bianchengyuyan/)

 } }

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)
展开更多 50%)
分享

猜你喜欢

java Collection 之Set使用说明

编程语言 网络编程
java Collection 之Set使用说明

Java语法基础之函数的使用说明

编程语言 网络编程
Java语法基础之函数的使用说明

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

.Net的Collection类的一些使用说明

电脑网络
.Net的Collection类的一些使用说明

APMServ使用说明

Web开发
APMServ使用说明

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

IO 使用说明介绍

编程语言 网络编程
IO 使用说明介绍

印象笔记使用说明

电脑网络
印象笔记使用说明

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Win8.1如何设置“开始”屏幕的背景

Win8.1如何设置“开始”屏幕的背景

Win10怎么看wifi密码?

Win10怎么看wifi密码?
下拉加载更多内容 ↓