水军大提督 发表于 2023-5-22 10:38:43

Java集合中Set都有哪些特性?看这篇就够了!

本文将为大家详细讲解Java中的,这是我们进行开发时经常用到的知识点,也是大家在学习Java中很重要的一个知识点,更是我们在面试时有可能会问到的问题。
文章较长,干货满满,建议大家收藏慢慢学习。文末有本文重点总结,主页有全系列文章分享。技术类问题,欢迎大家和我们一起交流讨论!
前言

在上一篇文章中,带大家学习了List集合的用法和特性,尤其是对ArrayList和LinkedList了解的更多一些。但Java中还有Set和Map集合等待我们学习,所以接下来就请各位继续跟我们一起来学习今天的内容吧。在本文中,会详细地给大家介绍Set集合的定义、特点、常用方法和基本原理等内容。
全文大约【4000】 字,不说废话,只讲可以让你学到技术、明白原理的纯干货!本文带有丰富的案例及配图视频,让你更好地理解和运用文中的技术概念,并可以给你带来具有足够启迪的思考......
一. Set集合简介

https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/ad2725576b02471886caee873e0c7e53~tplv-k3u1fbpfcp-watermark.image?
1. Set定义

Set是Java的一种集合,继承自Collection接口,主要有两个常用的实现类HashSet类和TreeSet类。它没有固定的大小限制,可以动态地添加和删除元素。并且Set集合中的元素都是唯一的,不会有重复的元素,即使是null值也只能有一个。另外Set集合是无序的,不能记住元素的添加顺序,因为没有索引值,所以Set集合中的对象不会按特定的方式排序,它只是简单地把对象放到集合中。
从特性上来看,Set相当于是一个只存储key、不存储value的Map。我们可以把Set想象成是一个”特殊的Map“,这个Map只有key却没有value,所以我们可以用Set去除重复的元素。另外由于放入Set的元素和Map的key类似,需要正确地实现equals()和hashCode()方法,否则该元素就无法正确地放入Set。
2. Set特性

与其他集合不同,Set集合具有自己的一些特性:

[*]Set集合中的元素都是唯一的,不允许有重复值,且最多只允许包含一个null元素;
[*]Set集合中的元素没有顺序,我们无法通过索引来访问元素,但TreeSet是有序的;
[*]Set集合没有固定的大小限制,可以动态地添加和删除元素;
[*]Set集合提供了高效的元素查找和判断方法。
3. Set常用方法

Set集合给我们提供了一系列常用的方法,用于添加、删除、查找、遍历和获取集合元素等操作,下面是Set集合中常用方法的实现过程。
3.1 添加元素

我们可以使用add()方法进行元素的添加。
public boolean add(E e)该方法用于向Set集合添加元素,如果元素已经存在,则不会添加;如果添加成功,则返回true,否则返回false。该方法的示例代码如下:
Set<String> set = new HashSet<>();

set.add("hello word");

set.add("java");

set.add("iOS");

System.out.println(set);3.2 删除元素

我们可以使用remove()方法进行元素的删除。
public boolean remove(Object o)该方法用于从Set集合中删除指定的元素。如果元素存在且删除成功,则返回true,否则返回false。该方法的示例代码如下:
Set<String> set = new HashSet<>();
set.add("hello word");
set.add("java");
set.remove("java");
System.out.println(set); // 输出结果为:[壹壹哥]3.3 判断元素

我们可以使用contains()方法进行元素的判断。
public boolean contains(Object o)该方法用于判断Set集合中是否包含指定的元素。如果元素存在,则返回true,否则返回false。该方法的示例代码如下:
Set<String> set = new HashSet<>();
set.add("hello word");
set.add("java");
System.out.println(set.contains("java")); // 输出结果为:true
System.out.println(set.contains("orange")); // 输出结果为:false3.4 获取元素数量

我们可以使用size()方法判断集合的数量。
public int size()该方法的使用示例代码如下:
Set<String> set = new HashSet<>();
set.add("hello word");
set.add("java");
System.out.println(set.size()); // 输出结果为:24. 配套视频

与本节内容配套的视频链接如下:戳链接一键直达
二. HashSet集合

1. 简介

在Java的集合框架中,HashSet是一种非常常用的集合类型,它实现了Set接口,并继承了AbstractSet抽象类。HashSet集合的底层实现是一个哈希表,它使用哈希算法来存储和管理集合中的元素。HashSet集合中的元素没有顺序,且不允许重复。
如果我们想使用HashSet集合,一般要使用如下两个构造方法创建出HashSet对象:
<ul>HashSet() :构造一个新的空的Set集合对象;
<strong>HashSet(Collection
页: [1]
查看完整版本: Java集合中Set都有哪些特性?看这篇就够了!