Java中多个集合的交集,并集和差集

一、交集

java中交集使用 A.retainAll(B) ,交集的结果在集合A中。

import org.junit.Test;
import java.util.HashSet;
import java.util.Set;

/**
 * 交集
 *
 */
public class Intersection {
    /**
     * 测试简单交集
     */
    @Test
    public void testSet() {
        Set<String> set1 = new HashSet<>();
        Set<String> set2 = new HashSet<>();

        set1.add("a");
        set1.add("b");
        set1.add("c");

        set2.add("c");
        set2.add("d");
        set2.add("e");

        //交集
        set1.retainAll(set2);
        System.out.println("交集是 " + set1);  //交集是 [c]
    }
}

二、并集

并集使用addAll,A.addAll(B) 因为set本身就去重,所有直接全部添加到一个集合中取并集。

import org.junit.Test;

import java.util.HashSet;
import java.util.Set;

/**
 * 并集
 *
 */
public class UnionSet {
    /**
     * 并集测试
     */
    @Test
    public void testUnionSet() {
        Set<String> set1 = new HashSet<>();
        Set<String> set2 = new HashSet<>();

        set1.add("a");
        set1.add("b");
        set1.add("c");

        set2.add("b");
        set2.add("c");
        set2.add("d");

        set1.addAll(set2);
        System.out.println("并集是" + set1); //并集是[a, b, c, d]
    }
}

三、差集

差集使用removeAll方法,去掉一集合中包含的另一个集合的值。A.removeAll(B)。

import org.junit.Test;

import java.util.HashSet;
import java.util.Set;

/**
 * 差集
 *
 */
public class DifferenceSet {
    /**
     * 差集测试
     */
    @Test
    public void testDifferenceSet() {
        Set<String> set1 = new HashSet<>();
        Set<String> set2 = new HashSet<>();

        set1.add("a");
        set1.add("b");
        set1.add("c");
        set1.add("d");

        set2.add("c");
        set2.add("d");
        set2.add("e");
        set2.add("f");

        set1.removeAll(set2);
        System.out.println("差集是 " + set1); //差集是 [a, b]
    }
}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Java 集合是一个存储对象的数据结构,可以在程序方便地进行数据的存储、检索和操作。它是 Java 标准库的一部分,提供了许多内置的容器类,如 List、Set、Map 等。这些容器类都实现了 Collection 接口,定义了一些基本的数据存储和操作方法,如 add、remove、size 等。 通过使用 Java 集合,可以简化代码,提高程序的可读性和可维护性,也可以提高程序的效率。 ### 回答2: Java集合是用于存储和处理一组相关数据对象的容器。它是Java编程语言非常重要的一部分,提供了一系列接口和类来实现不同类型和功能的集合Java集合框架提供了多种集合实现,以满足不同的应用需求。 Java集合可以根据其结构分为两大类:一是单列集合,如List、Set和Queue;二是双列集合,如Map。 List是有序的集合,可以包含重复元素。它有多个实现类,其比较常用的是ArrayList和LinkedList。ArrayList底层采用动态数组实现,支持随机访问,适用于频繁访问和修改的场景。而LinkedList底层采用双向链表实现,适用于频繁插入和删除的场景。 Set是无序且不可包含重复元素的集合。它有多个实现类,例如HashSet和TreeSet。HashSet基于哈希表实现,具有较快的元素查找和插入速度,而TreeSet基于红黑树实现,可以按照元素的自然顺序进行排序。 Queue是一种先进先出(FIFO)的集合,它用于存储和操作待处理元素。常用的实现类有LinkedList和PriorityQueue。 Map是一种键值对的集合,每个键对应一个唯一的值。常见的实现类有HashMap和TreeMap。HashMap基于哈希表实现,可以快速进行键值对的查找和插入操作,而TreeMap则基于红黑树实现,可以按照键的自然顺序对键值对进行排序。 除了以上常用的集合类,Java集合框架还提供了一些辅助类和接口,如Collections和Iterator,用于提供集合的各种操作和迭代访问。 Java集合提供了一种便捷的方式来管理和操作数据,极大地简化了编程工作。开发者可以根据需求选择合适的集合类,提高代码的可读性、可维护性和性能。 ### 回答3: Java集合Java语言的一种数据结构,用于存储和操作一组数据。Java集合提供了一系列的接口和类,用于实现不同类型的集合Java集合框架主要由以下几个核心接口和类组成: 1. Collection接口:是所有集合类的父接口,定义了集合类的基本操作,如添加、删除、遍历等。常用的实现类有List(有序可重复集合)、Set(无序不可重复集合)和Queue(队列)。 2. Map接口:用于存储键值对的数据结构,每个键唯一对应一个值。Map接口的常用实现类有HashMap、TreeMap和LinkedHashMap。 3. ArrayList类:实现了List接口,基于数组实现的动态数组。它可以根据需要自动扩容,支持动态增删元素。 4. LinkedList类:实现了List和Queue接口,基于双向链表实现的。它可以高效地完成插入、删除等操作,适用于频繁插入和删除操作的场景。 5. HashSet类:实现了Set接口,基于哈希表实现的无序不可重复集合。它使用了哈希函数来计算元素的存储位置,查找元素的速度非常快。 6. HashMap类:实现了Map接口,基于哈希表实现的键值对集合。它可以根据键快速地查找对应的值,具有很高的查找效率。 Java集合提供了丰富的功能和操作方法,可以方便地进行元素的增删改查、遍历、排序以及集合间的操作,如并集交集差集等。它们的使用可以大大简化程序的编写和维护工作,提高代码的可读性和可维护性。 同时,Java集合还具有泛型的特性,使得集合类可以更加灵活地存储不同类型的数据。通过明确指定集合存储的元素类型,可以在编译时提供更好的类型检查,减少运行时错误的发生。 总之,Java集合Java程序开发非常重要和常用的一个部分,它提供了丰富的功能和灵活的数据存储方式,可以满足各种需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值