JAVA容器(三)--Set类
来源:互联网 发布:淘宝客怎么采集 编辑:程序博客网 时间:2024/06/05 03:10
Set与List都实现了Collections接口,但他们区别是List中可以有重复对象出现,但是Set里面不能有重复对象。Set里面最常用的是HashSet,而TreeSet只有在排序的时候一般采用到。 1.先说说Set里面常用的方法 public boolean isEmpty() :如果set中不含元素,返回true public boolean contains(Object o) :如果set包含指定元素,返回true public Iterator iterator() 返回set中元素的迭代器元素返回没有特定的顺序, public boolean containsAll(Collection c) :如果set包含指定集合的所有元素,返回true。如果指定集合也是一个set,只有是当前set的子集时,方法返回true public boolean addAll(Collection c) :如果set中中不存在指定集合的元素,则向set中加入所有元素 public boolean retainAll(Collection c) :只保留set中所含的指定集合的元素(可选操作)。换言之,从set中删除所有指定集合不包含的元素。 如果指定集合也是一个set,那么该操作修改set的效果是使它的值为两个set的交集 public boolean removeAll(Collection c) :如果set包含指定集合,则从set中删除指定集合的所有元素 HashSet(散列表):在HashSet中没有get()方法,但可以通过iterator()来实现。要注意的是假如要在HasSet中存放一些对象,那么你得重定义hashCode()与equals()二个方法来保不可以存放相同的内容的元素。对于hashcode()所返回的值,hashset用它来计算(通过特定的函数)该对象在内存中的存放位置;后者主要用来判断二个对象的内容是否相等而返回对应的boolen型。
TreeSet,主要用来对元素进行排序操作,假如要往其中添加对象,则对象得实现 Comparable接口。(假如不要对元素排序,则一般可选用HashSet)。 public static void main(String []args){ Random rand=new random(47); Set intset=new HashSet(); for(int i=0;i<10000;i++) intset.add(rand.nextInt(30)); System.out.println(intset); }
2.谈谈HashSet和TreeSet
3.HashSet和TreeSet比较
且看以下实例:
public class SetOfInteger{
}
如果把红线处代码换成Set intset=new TreeSet();可以看到,使用HashSet来保存元素然后输出,元素是没有顺序的;而用TreeSet来保存对象元素然后输出,元素是按照从小到大的顺序输出的。从这里可以看到他们的差别。
Set中最主要的类是HashSet,后面将对HashSet详细解析。
0 0
- JAVA容器(三)--Set类
- Java 容器(三) Set
- JAVA容器Set的三种子类的比较
- Java(三)--容器
- Java容器---遍历Collection,Set的三种方法
- java容器类--------set接口解析(二)
- Java进击(三)容器类
- Java容器类List和Set分析
- Java容器类List和Set分析
- Java容器类List和Set比较
- Java容器类List和Set分析
- java.容器类(list,queue,map,set)
- Java容器(List、Map、Set、Iterator)
- Java容器—set
- java容器之set
- Java容器Set详解
- JAVA容器之-SET
- 三 关联式容器(一)set和multiset
- 如何在ScrollView中嵌套ListView
- 南阳91 阶乘之和
- JAVA 容器(二)----List
- 【c++系列12】异常安全之auto_ptr
- 常用SQL语句
- JAVA容器(三)--Set类
- eclipse maven 安装、配置
- 监控系统资源
- 我这8年的编程生活-展望篇
- String字符串查找操作
- Device or resource busy
- 用C语言读取前序建立二叉树
- JDBC基础_建立连接
- 学习网站