本章目标
掌握Set接口与Collection接口的关系
掌握Set接口的常用子类:TreeSet、HashSet
掌握TreeSet类的排序实现
掌握Object类中的hashCode()及equals()方法的使用
Set接口的定义
Set接口也是Collection接口的子接口,但是与Collection或List接口不同的是,Set接口中不能加入重复的元素。
Set接口的定义:
——public interface Set<E> extends Collection<E>
Set接口的主要方法与Collection是一致的
Set接口的实例无法像List接口那样进行双向输出
Set接口的常用子类
——散列存放:HashSet
——有序存放:TreeSet
散列的存放:HashSet
HashSet是Set接口的一个子类,主要的特点是:里面不能存放重复元素,而且是采用散列的存储方式,所以是没有顺序的。
验证HashSet类
import java.util.HashSet; import java.util.Set; public class HashSetDemo01 { public static void main(String[] args) { Set<String> allSet = new HashSet<String>(); allSet.add("A");//增加元素 allSet.add("B");//增加元素 allSet.add("C");//增加元素 allSet.add("C");//重复元素,不能加入 allSet.add("C");//重复元素,不能加入 allSet.add("D");//增加元素 allSet.add("E");//增加元素 allSet.add("F");//增加元素 System.out.println(allSet);//输出集合对象,调用 toString() } /* 结果: * [D, E, F, A, B, C] * */ }
有序的存放:TreeSet
如果想对输入的数据进行有序排列,则要使用TreeSet子类。TreeSet类的定义如下:
——public class TreeSet<E> extends AbstractSet<E>implements SortedSet<E>, Cloneable, Serializable
验证TreeSet类
import java.util.Set; import java.util.TreeSet; public class TreeSetDemo01 { public static void main(String[] args) { Set<String> allSet = new TreeSet<String>(); allSet.add("D");//加入元素 allSet.add("A");//加入元素 allSet.add("E");//加入元素 allSet.add("B");//加入元素 allSet.add("C");//加入元素 allSet.add("C");//重复元素,不能加入 allSet.add("C");//重复元素,不能加入 allSet.add("F");//加入元素 System.out.println(allSet);//输出集合,调用 toString() } /* 结果: * [A, B, C, D, E, F] * */ }
相关推荐
### set接口中hashCode和equals方法详解 #### 一、引言 在Java编程语言中,`Set`接口作为集合框架的重要组成部分,在实现无重复元素的数据结构方面扮演着关键角色。为了确保元素的唯一性,`Set`接口依赖于对象的`...
10.javaSet 接口及其实现类.zip10.javaSet 接口及其实现类.zip10.javaSet 接口及其实现类.zip10.javaSet 接口及其实现类.zip10.javaSet 接口及其实现类.zip10.javaSet 接口及其实现类.zip10.javaSet 接口及其实现类....
在Java编程中,Set接口是集合框架的一部分,它继承自Collection接口,主要用于存储不包含重复元素的集合。Set接口的实现类主要有HashSet、TreeSet和LinkedHashSet,它们各自有不同的特性和使用场景。 1. **HashSet*...
Java集合框架中的Set接口是Java编程中不可或缺的一部分,主要用于存储不允许重复的元素。Set接口继承了Collection接口,因此它具备了Collection接口的所有基本操作。同时,Set接口还提供了特有的方法,如添加元素、...
集合框架(最终版)-list接口、set接口、Queue接口、Map接口
Set接口在Java编程语言中是集合框架的一部分,它代表了一个不允许包含重复元素的集合。Set接口继承了Collection接口,提供了与Collection相同的基本方法,如添加元素(add)、判断是否为空(isEmpty)、删除元素(remove)...
#### 11-3 Set接口实现类 在Java集合框架中,`Set`接口是`Collection`接口的子接口,它不允许包含重复元素。本文将详细介绍`Set`接口及其三种主要实现类:`HashSet`、`LinkedHashSet`和`TreeSet`。 ### 11.3.1 ...
Java基础知识汇总之集合框架List、Map、Set接口及其子类综合对比
1. **Set接口**: Set接口表示一个不包含重复元素的集合。在Java中,Set接口的主要实现类有HashSet和TreeSet。 - **HashSet**:基于哈希表实现,不保证元素的顺序,插入元素时不会进行排序,允许null元素。 - **...
计算机后端-Java-Java核心基础-第25章 集合02 04. 复习:Set接口.avi
计算机后端-Java-Java核心基础-第24章 集合01 20. Set接口实现类的对比.avi
本项目为maven项目,项目中不包含所需jar包。使用者请先安装maven并保证可以连接到maven的中央仓库。项目写的比较乱,基本上实现了对project,issue的增删改查。项目中URI地址请根据公司地址自行配制。
在Java中,Set接口是集合框架的一部分,它代表了不包含重复元素的无序集合。本篇将深入探讨Java中Set接口及其相关的实现类,以及如何在实际编程中运用。 Set接口继承自Collection接口,其主要特性是元素的唯一性,...
其中,List、Set、Map 是三个非常重要的接口,分别代表有序集合、无序集合和键值对集合。本文将对这三个接口的用法和区别进行详细的介绍。 Collection 接口 Collection 是 Java 集合框架的根接口,所有集合类型都...
1. **Set接口的基本操作**:如添加元素(`add()`)、删除元素(`remove()`)、判断元素是否存在(`contains()`)以及获取集合大小(`size()`)等。 2. **HashSet的工作原理**:通过哈希函数计算元素的哈希值,确定...
在Java编程语言中,HashSet是一种常用的集合类,它实现了Set接口,不包含重复元素,并且不保证元素的顺序。在给定的“CustomSet.zip”压缩包中,我们看到一个名为“CustomSet.java”的文件,这很可能是用户自定义的...
在深入探讨Java中Set接口的实现细节之前,我们先来明确一下Set在Java中的核心概念。Set接口是Java集合框架的一部分,它代表了一个数学抽象集合,即不允许包含重复元素的集合。更正式地讲,根据其Javadoc文档,Set是...
Set接口和Map接口是Java集合框架中的重要组成部分,它们提供了不同的数据存储和操作特性。 **Set接口** Set接口继承自Collection接口,它主要用于存储不重复的元素。在Set接口中,有以下常用的几个方法: 1. **add...
在Set接口下有许多实现类,如HashSet、TreeSet和LinkedHashSet等。我们以`HashSetDemo.java`为例,探讨HashSet的使用方法。 `HashSet`是Java中最常用的Set实现类,它基于哈希表(HashMap)实现,提供了快速的插入、...