迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > 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/12/17 浏览次数:217 分类:Java

本篇文章主要介绍如何在 Java 中制造程序延迟。本教程介绍了如何在 Java 中制造程序延时,并列举了一些示例代码来了解它。

如何在 Java 中把 Hashmap 转换为 JSON 对象

发布时间:2023/12/17 浏览次数:187 分类:Java

它描述了允许我们将哈希图转换为简单的 JSON 对象的方法。本文介绍了在 Java 中把 Hashmap 转换为 JSON 对象的方法。我们将看到关于创建一个 hashmap,然后将其转换为 JSON 对象的详细例子。

如何在 Java 中按值排序 Map

发布时间:2023/12/17 浏览次数:171 分类:Java

本文介绍了如何在 Java 中按值对 Map 进行排序。本教程介绍了如何在 Java 中按值对 Map 进行排序,并列出了一些示例代码来理解它。

如何在 Java 中打印 HashMap

发布时间:2023/12/17 浏览次数:192 分类:Java

本帖介绍了如何在 Java 中打印 HashMap。本教程介绍了如何在 Java 中打印 HashMap 元素,还列举了一些示例代码来理解这个主题。

在 Java 中更新 Hashmap 的值

发布时间:2023/12/17 浏览次数:146 分类:Java

本文介绍了如何在 Java 中更新 HashMap 中的一个值。本文介绍了如何在 Java 中使用 HashMap 类中包含的两个方法-put() 和 replace() 更新 HashMap 中的值。

Java 中的 hashmap 和 map 之间的区别

发布时间:2023/12/17 浏览次数:79 分类:Java

本文介绍了 Java 中的 hashmap 和 map 接口之间的区别。本教程介绍了 Java 中 Map 和 HashMap 之间的主要区别。在 Java 中,Map 是用于以键值对存储数据的接口,

在 Java 中获取用户主目录

发布时间:2023/12/17 浏览次数:218 分类:Java

这篇文章向你展示了如何在 Java 中获取用户主目录。本教程介绍了如何在 Java 中获取用户主目录,并列出了一些示例代码以指导你完成该主题。

Java 中 size 和 length 的区别

发布时间:2023/12/17 浏览次数:179 分类:Java

这篇文章教你如何知道 Java 中大小和长度之间的区别。本教程介绍了 Java 中大小和长度之间的区别。我们还列出了一些示例代码以帮助你理解该主题。

Java 中的互斥锁

发布时间:2023/12/17 浏览次数:111 分类:Java

了解有关 Java 中互斥锁的一切,在计算机科学领域,互斥或互斥被称为并发控制的属性。每台计算机都使用称为线程的最小程序指令序列。有一次,计算机在一个线程上工作。为了更好地理解,

扫一扫阅读全部技术教程

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

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便