迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Java >

在 Java 中查找集合交点

作者:迹忆客 最近更新:2023/10/17 浏览次数:

术语 Setjava.util 包中的一个接口。集合是存储无序列表的集合接口,不允许存储重复的实体。在数学上,set 接口具有三个属性。


在 Java 中使用集合插入和查找集合交集

你可以看到下面的程序,该程序演示了 Java 中的 Set 插入和查找两个集合之间的交集。

import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

public class SetIntersection {
    public static void main(String[] args) {
        Set<Integer> s1 = new HashSet<>();
        s1.add(2);
        s1.add(7);
        s1.add(1);
        System.out.println("Set1: " + s1);
        List list = Arrays.asList(1, 7, 6, 8);
        Set<Integer> s2 = new HashSet<>(list);
        System.out.println("Set2: " + s2);
        Set<Integer> intersection = new HashSet<>(s1);
        intersection.retainAll(s2);
        System.out.println("Intersection: " + intersection);
    }
}

在上面的代码中,一个集合被声明为该过程的第一步。new HashSet 创建 HashSet 类的一个新实例,并将形成的引用分配给 Set 实例。HashSet 的默认容量是 16,负载因子是 0.75HashSet 类与 Set 接口兼容,因为 HashSet 在内部实现了 Set 接口。

变量 s1 使用 add 方法进行初始化。该函数将定义类型的对象添加到 Set 实例中,考虑到该对象非空且不重复。该函数根据是否插入值返回 boolean。如果指定元素的类与 Set 实例的类不相似,则该函数将引发 ClassCastException。如果元素为空值,则抛出 NullPointerException,如果元素的某些属性禁止将其添加到 Set 集合中,则抛出 IllegalArgumentException

创建集合的另一种方法是使用传递给 HashSet 构造函数参数的 list 实例。使用 Arrays 类的 asList 方法使用定义的值初始化列表。列表的实例作为 HashSet 构造函数中的参数传递。Set 集合不保留元素的存储顺序。

Set 的另一个实例使用 s1 实例作为构造函数参数进行实例化。现在,这个 intersection 引用调用另一个方法,即 retainAll 函数。该函数仅保留调用实例和被调用实例时存在的元素。当在 retain 操作中更改 Set 时,该方法返回布尔值 true。如果它不支持对集合的操作,它会抛出一个 UnsupportedOperationException。如果集合类型不兼容,则抛出 ClassCastException,如果 Set 包含空元素,则抛出 NullPointerException

上述集合之间的交集的输出如下。

输出:

Set1: [1, 2, 7]
Set2: [1, 6, 7, 8]
Intersection: [1, 7]

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Java 中的动态方法调度

发布时间:2023/10/18 浏览次数:199 分类:Java

本教程展示了 Java 中动态方法分派的定义、优势和使用。本教程介绍了 Java 中的动态方法分派。它讲述了它的技术定义和重要性,并用代码示例进行了解释。

Java 中的 abs() 方法

发布时间:2023/10/18 浏览次数:184 分类:Java

本教程通过 Java 中的不同代码示例介绍如何使用 abs() 方法。我们将学习 Java 中的 abs() 方法来查找指定数字的绝对值。我们将通过编写和练习各种代码示例来学习。

在 Java 中使用 System.exit() 方法

发布时间:2023/10/18 浏览次数:157 分类:Java

本文介绍 Java 中 System.exit() 方法的作用。本教程介绍了 Java 中的 System.exit() 方法的作用。System 是 Java 中的一个类,它提供了几种实用方法来处理与系统相关的任务,例如 exit() 方法用于停止当前

在 Java 中编写本机方法

发布时间:2023/10/18 浏览次数:57 分类:Java

本文演示了本机方法是什么以及如何在 Java 程序中编写本机方法。本文将引导你完成学习如何在 Java 程序中编写本机方法所需的各个步骤。

Java 中静态方法和非静态方法的区别

发布时间:2023/10/18 浏览次数:134 分类:Java

本教程对 Java 中的静态和非静态方法进行了分类,同时区分了它们的核心属性和范围。之后,我们将对这两种方法运行三个示例。

Java 中的私有方法

发布时间:2023/10/18 浏览次数:51 分类:Java

本教程演示了 Java 中私有方法的使用。Java 中的私有方法有一个私有访问修饰符,这意味着它们对定义类的访问受到限制,并且在继承的子类中不可访问;这就是为什么他们没有资格覆盖。

Java 中的流过滤器

发布时间:2023/10/18 浏览次数:130 分类:Java

本文介绍 Java 中的流 API 及其过滤方法。本教程介绍 Java 中的流 API 及其 filter() 方法。在 Java 中,流是对象的集合。

Java 中的方法重载

发布时间:2023/10/18 浏览次数:186 分类:Java

本教程简要介绍了 Java 中的方法重载。它还演示了我们如何以及何时可以在 Java 编程中使用方法重载。如果你正在学习 Java 编程,你可能听说过方法重载。我们将在本文中介绍 Java 中的方法重载

Java 中的方法隐藏

发布时间:2023/10/18 浏览次数:137 分类:Java

本文介绍了 Java 中方法隐藏的概念。在本文中,我们将研究 Java 中方法隐藏的概念。方法隐藏类似于重载,但是当对子类和父类中的静态函数使用相同的方法签名时,它就会发挥作用。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便