Set在java中是一个不包含重复元素的 collection。更确切地讲,set 不包含满足 e1.equals(e2) 的元素对 e1 和 e2,并且最多包含一个 null 元素。也就时候说,set是本质上是一个不带重复元素的集合。
在Java中使用Set,可以方便地将需要的类型,以集合类型保存在一个变量中.主要应用在显示列表.
Set接口的主要方法
Add(E e);
如果 set 中尚未存在指定的元素,则添加此元素。
Clear();
移除此 set 中的所有元素。
Equals(Object o);
比较指定对象与此 set 的相等性。
hashCode();
返回 set 的哈希码值。
isEmpty();
如果 set 不包含元素,则返回 true。
Remove(Object o);
如果 set 中存在指定的元素,则将其移除;
Size();
返回 set 中的元素数;
toArray();
返回一个包含 set 中所有元素的数组;
Set中俩个比较常见的已知实现接口包含 HashSet和Treeset。
HashSet是由哈希表(实际上是一个 HashMap 实例)支持。它不保证 set 的迭代顺序;特别是它不保证该顺序恒久不变。此类允许使用 null 元素。
HashSet的主要方法为:
Add(E e);
如果 set 中尚未存在指定的元素,则添加此元素。
Clear();
移除此 set 中的所有元素。
Clone();
返回此 HashSet 实例的浅表副本:并没有复制这些元素本身;
Contains (Object o);
如果此 set 包含指定元素,则返回 true;
isEmpty();
如果 set 不包含元素,则返回 true。
Iterator ();
返回对此 set 中元素进行迭代的迭代器
Remove(Object o);
如果 set 中存在指定的元素,则将其移除;
Size();
返回此set 中的元素的数量;
TreeSet是基于 TreeMap 的 NavigableSet 实现。使用元素的自然顺序对元素进行排序,或者根据创建 set 时提供的 Comparator 进行排序,具体取决于使 用的构造方法。
TreeSet中常见的使用方法为:
Add(E e);
如果 set 中尚未存在指定的元素,则添加此元素。
Clear();
移除此 set 中的所有元素。
Clone();
返回此 HashSet 实例的浅表副本:并没有复制这些元素本身;
Contains (Object o);
如果此 set 包含指定元素,则返回 true;
Iterator ();
返回对此 set 中元素进行迭代的迭代器;
Remove(Object o);
如果 set 中存在指定的元素,则将其移除;
Size();
返回此set 中的元素的数量;
isEmpty();
如果 set 不包含元素,则返回 true。
Frist();
返回此 set 中当前第一个(最低)元素。
Last();
返回此 set 中当前最后一个(最高)元素。
Lower();
返回此 set 中严格小于给定元素的最大元素;如果不存在这样的元素,则返回 null。
Higher(E e);
返回此 set 中严格大于给定元素的最小元素;如果不存在这样的元素,则返回 null。
poolFirst();
获取并移除第一个(最低)元素;如果此 set 为空,则返回 null;
poolLast();
取并移除最后一个(最高)元素;如果此 set 为空,则返回 null。
参考文献:
JDK API 1.6.0 中文版。
相关推荐
在Java编程语言中,集合框架是处理数据的重要组成部分,其中`HashSet`和`TreeSet`是两种常用的Set接口实现类。它们各自具有独特的特性和用途,理解它们的区别对于编写高效且正确的代码至关重要。 首先,`HashSet`是...
HashSet和TreeSet是Java集合框架中的两种重要数据结构,它们都是Set接口的实现类,用于存储不重复的元素。在编程实践中,理解它们的区别和应用场景至关重要。 HashSet是基于HashMap实现的,它不保证元素的顺序,...
HashSet和TreeSet都是Java集合框架中的Set接口实现,用于存储不重复的元素。但是,它们在使用方法和实现机理上有很大的区别。 首先,从使用方法上讲,HashSet和TreeSet都可以用于存储不重复的元素,但是它们在元素...
Set是java中一个不包含重复元素的collection。更正式地说,set 不包含满足e1.equals(e2) 的元素对 e1 和 e2,并且最多包含一个 null 元素。正如其名称所暗示的,此接口模仿了数学上的 set 抽象。 HashSet与TreeSet...
HashSet 和 TreeSet 是 Java 中两个常用的集合类,它们都实现了 Set 接口,但它们之间有很大的区别。本文将详细介绍 HashSet 和 TreeSet 的区别,帮助大家更好地理解和使用这些集合类。 HashSet HashSet 是一个...
在Java编程语言中,集合框架是处理数据的...在使用这些集合类时,确保正确地实现了equals()、hashCode()(对于HashSet和LinkedHashSet)以及Comparable或Comparator(对于TreeSet)方法,是保证集合行为正确性的关键。
在Java编程语言中,集合框架提供了多种数据结构来存储和操作数据,其中`TreeMap`、`TreeSet`、`HashSet`以及`HashMap`是最常用的数据结构之一。这些集合类各自有着独特的特性和应用场景,下面将对它们进行详细介绍。...
在Java编程中,HashMap、HashSet、TreeMap和TreeSet是四种常见的集合类,它们各自有特定的用途和内部实现机制。这些数据结构用于存储和管理数据,其中HashMap和HashSet是基于哈希表实现的,而TreeMap和TreeSet则是...
Set接口在Java编程语言中是集合框架的一部分,它代表了一个不允许包含重复元素的集合。Set接口继承了Collection接口,提供了与Collection相同的基本方法,如添加元素(add)、判断是否为空(isEmpty)、删除元素(remove)...
java HashSet 集合排序,需要通过利用TreeSet集合排序。2013-10-30。
在`MySetClass.java`源代码中,可能包含了创建和操作Set对象的示例,例如添加元素、删除元素、判断元素是否存在以及遍历Set等。`Java.jpg`可能是对Java集合框架或Set接口的可视化表示,帮助理解其内部结构或工作原理...
在Java编程语言中,集合(Collections)是存储和操作对象的主要数据结构,其中包括两种常见的类型:List和Set。本文将深入探讨List和Set在使用`retainAll`方法时的效率差异,并通过`ListAndRetainAll.java`和`...
在Java集合框架中,TreeSet是一个重要的数据结构,它是Set接口的实现类之一,与HashSet和LinkedHashSet不同,TreeSet具有排序功能,这是因为其不仅继承自AbstractSet,还实现了SortedSet和NavigableSet接口。...
在Java编程中,Set接口是集合框架的一部分,它继承自Collection接口,主要用于存储不包含重复元素的集合。Set接口的实现类主要有HashSet、TreeSet和LinkedHashSet,它们各自有不同的特性和使用场景。 1. **HashSet*...
本篇文章将详细讲解Java中的基本集合类ArrayList、LinkedList和Vector,以及HashSet和TreeSet。 1. ArrayList ArrayList是基于动态数组实现的集合类,它允许存储重复元素。默认初始容量为10,当添加元素超过容量时...
3. **集合框架**:Java集合框架是存储和管理对象的重要工具,包括List(如ArrayList和LinkedList)、Set(如HashSet和TreeSet)和Map(如HashMap和TreeMap)。理解它们的特点和使用场景对于编写高效代码至关重要。 ...
Set接口是Java集合类中另一个基本的接口,提供了基本的添加、删除、检查元素是否存在的方法。HashSet和TreeSet是Set接口的两个常用的实现类。HashSet是一个散列集合,提供了快速的添加和删除元素的能力。TreeSet是一...
在深入探讨Java中Set接口...通过以上分析,我们可以看到,虽然Set接口本身很简单,但是它的实现却涉及到了哈希表、链表、红黑树以及线程安全等多种数据结构和算法概念,这些是Java开发者深入了解和掌握集合框架的基础。
在Java中,Set接口有多个实现类,如HashSet、TreeSet等,它们各有各的特性。 首先,我们来聊聊HashSet。HashSet是最常用的Set实现类,它基于哈希表实现,因此插入和查找的平均时间复杂度为O(1)。然而,由于其内部...