【JAVA】Java 中 Set集合常用方法

简介: 【JAVA】Java 中 Set集合常用方法

013f9db63fd347078c5d87290c398c0b.png

前言

 Java中的Set接口提供了一种不允许包含重复元素的集合。常用的实现类有HashSetLinkedHashSetTreeSet等。本文将通过一个简单的示例代码演示Set集合的常用方法,包括添加、删除元素,判断集合是否包含元素,获取集合大小,遍历集合等操作。这将帮助初学者熟悉在Java中如何使用Set集合。

正文

在Java中,Set是一种集合接口,它继承自Collection接口,不允许包含重复元素。Set有几个常用的实现类,如HashSetLinkedHashSetTreeSet。以下是Set接口的一些

常用方法

1.添加元素:

  1. boolean add(E element):将指定的元素添加到集合中,如果集合中已经包含该元素,则返回false,否则返回true。

2.删除元素:

  1. boolean remove(Object o):从集合中删除指定的元素。
  2. void clear():清空集合中的所有元素。

3.判断集合是否包含元素:

  1. boolean contains(Object o):判断集合中是否包含指定的元素。
  2. boolean isEmpty():判断集合是否为空。

4.获取集合大小:

  1. int size():返回集合中的元素数量。

5.遍历集合:

  1. Iterator<E> iterator():返回一个迭代器,用于遍历集合中的元素。
  2. forEach(Consumer<? super E> action):对集合中的每个元素执行指定操作

6.转换为数组:

  1. Object[] toArray():将集合转换为数组。

7.其他:

  1. boolean removeAll(Collection<?> c):从集合中删除指定集合中包含的所有元素。
  2. boolean retainAll(Collection<?> c):仅保留集合中包含在指定集合中的元素,删除其他元素。
  3. boolean containsAll(Collection<?> c):判断集合是否包含指定集合中的所有元素。

注意:在Set接口中,并没有提供按索引访问元素的方法,因为Set不保证元素的顺序。如果需要按索引访问元素,可以考虑使用List接口。

代码示例

import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
 
public class SetExample {
    public static void main(String[] args) {
        // 创建HashSet实例
        Set<String> set = new HashSet<>();
 
        // 添加元素
        set.add("Apple");
        set.add("Banana");
        set.add("Orange");
        set.add("Apple"); // 重复元素,不会被添加
 
        // 打印集合
        System.out.println("Set: " + set);
 
        // 判断集合是否包含元素
        System.out.println("Contains 'Banana': " + set.contains("Banana"));
 
        // 获取集合大小
        System.out.println("Size: " + set.size());
 
        // 遍历集合(使用迭代器)
        System.out.print("Elements: ");
        Iterator<String> iterator = set.iterator();
        while (iterator.hasNext()) {
            System.out.print(iterator.next() + " ");
        }
        System.out.println();
 
        // 删除元素
        set.remove("Orange");
 
        // 打印修改后的集合
        System.out.println("Set after removing 'Orange': " + set);
 
        // 清空集合
        set.clear();
 
        // 打印清空后的集合
        System.out.println("Set after clearing: " + set);
    }
}

结语

     通过本示例,我们深入了解了Java中Set集合的常用方法。无论是在数据处理还是算法实现中,Set都是一个有用的工具,特别是在需要存储唯一元素的场景下。掌握这些基本方法,可以更加灵活地操作集合,提高代码的效率和可读性。希望这个简单的示例对你理解和运用Set集合有所帮助。

相关文章
|
6天前
|
存储 算法 Java
Java Set深度解析:为何它能成为“无重复”的代名词?
Java的集合框架中,Set接口以其“无重复”特性著称。本文解析了Set的实现原理,包括HashSet和TreeSet的不同数据结构和算法,以及如何通过示例代码实现最佳实践。选择合适的Set实现类和正确实现自定义对象的hashCode()和equals()方法是关键。
19 4
|
6天前
|
Java
那些与Java Set擦肩而过的重复元素,都经历了什么?
在Java的世界里,Set如同一位浪漫而坚定的恋人,只对独一无二的元素情有独钟。重复元素虽屡遭拒绝,但通过反思和成长,最终变得独特,赢得了Set的认可。示例代码展示了这一过程,揭示了成长与独特性的浪漫故事。
14 4
|
6天前
|
Java 开发者
Java Set:当“重复”遇见它,秒变“独宠”!
在Java编程中,Set接口确保集合中的元素不重复,每个元素都是独一无二的“独宠”。本文介绍了Set的两种常见实现:HashSet和TreeSet。HashSet基于哈希表实现,提供高效的添加、删除和查找操作;TreeSet基于红黑树实现,不仅去重还能对元素进行排序。通过示例代码,展示了这两种集合的具体应用,帮助开发者更好地理解和使用Set。
15 4
|
6天前
|
Java Windows
IDEA不使用lombok,如何快速生成get和set方法
【11月更文挑战第10天】在 IntelliJ IDEA 中生成 `get` 和 `set` 方法有多种方式:通过菜单操作、使用快捷键或自定义模板。菜单操作包括选择“Code”菜单中的“Generate...”,快捷键为“Alt + Insert”。自定义模板可在“File”-&gt;“Settings”-&gt;“Editor”-&gt;“Code Style”-&gt;“Java”中设置。批量生成时,可多选变量一次性生成。
|
8天前
|
Java
Java 8 引入的 Streams 功能强大,提供了一种简洁高效的处理数据集合的方式
Java 8 引入的 Streams 功能强大,提供了一种简洁高效的处理数据集合的方式。本文介绍了 Streams 的基本概念和使用方法,包括创建 Streams、中间操作和终端操作,并通过多个案例详细解析了过滤、映射、归并、排序、分组和并行处理等操作,帮助读者更好地理解和掌握这一重要特性。
18 2
|
8天前
|
安全 Java
Java多线程集合类
本文介绍了Java中线程安全的问题及解决方案。通过示例代码展示了使用`CopyOnWriteArrayList`、`CopyOnWriteArraySet`和`ConcurrentHashMap`来解决多线程环境下集合操作的线程安全问题。这些类通过不同的机制确保了线程安全,提高了并发性能。
|
11天前
|
存储 Java 开发者
Java Set:无序之美,不重复之魅!
在Java的集合框架中,Set接口以其“无序之美”和“不重复之魅”受到开发者青睐。Set不包含重复元素,不保证元素顺序,通过元素的hashCode()和equals()方法实现唯一性。示例代码展示了如何使用HashSet添加和遍历元素,体现了Set的高效性和简洁性。
25 4
|
12天前
|
存储 Java 程序员
Java基础的灵魂——Object类方法详解(社招面试不踩坑)
本文介绍了Java中`Object`类的几个重要方法,包括`toString`、`equals`、`hashCode`、`finalize`、`clone`、`getClass`、`notify`和`wait`。这些方法是面试中的常考点,掌握它们有助于理解Java对象的行为和实现多线程编程。作者通过具体示例和应用场景,详细解析了每个方法的作用和重写技巧,帮助读者更好地应对面试和技术开发。
53 4
|
11天前
|
存储 算法 Java
为什么Java Set如此“挑剔”,连重复元素都容不下?
在Java的集合框架中,Set是一个独特的接口,它严格要求元素不重复,适用于需要唯一性约束的场景。Set通过内部数据结构(如哈希表或红黑树)和算法(如哈希值和equals()方法)实现这一特性,自动过滤重复元素,简化处理逻辑。示例代码展示了Set如何自动忽略重复元素。
20 1
|
11天前
|
存储 算法 Java
Java中的Set,你真的了解它的“无重复”奥秘吗?
在Java的广阔天地里,Set以其独特的“无重复”特性,在众多数据结构中脱颖而出。本文将揭秘Set的“无重复”奥秘,带你领略其魅力。Set通过哈希算法和equals()方法协同工作,确保元素不重复。通过一个简单的案例,我们将展示HashSet如何实现这一特性。
23 1