首页 > 编程语言 >用java找出两个集合中相同的元素和不通的元素

用java找出两个集合中相同的元素和不通的元素

时间:2023-04-10 09:14:08浏览次数:35  
标签:找出 java 相同 元素 List new difference 不通

用java找出两个集合中相同的元素和不通的元素

假设有两个集合A和B,可以通过以下代码找出它们中相同的元素和不同的元素:

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Set<Integer> A = new HashSet<>(Arrays.asList(1, 2, 3, 4, 5));
        Set<Integer> B = new HashSet<>(Arrays.asList(3, 4, 5, 6, 7));
        
        // 找出相同的元素
        Set<Integer> intersection = new HashSet<>(A);
        intersection.retainAll(B);
        System.out.println("相同的元素:" + intersection);
        
        // 找出不同的元素
        Set<Integer> difference = new HashSet<>(A);
        difference.addAll(B);
        Set<Integer> tmp = new HashSet<>(A);
        tmp.retainAll(B);
        difference.removeAll(tmp);
        System.out.println("不同的元素:" + difference);
    }
}

 

输出结果:

相同的元素:[3, 4, 5]
不同的元素:[1, 2, 6, 7]
   

用java找出两个list集合中相同的元素和不通的元素

 
import java.util.*;

public class Main {
    public static void main(String[] args) {
        List<Integer> A = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5));
        List<Integer> B = new ArrayList<>(Arrays.asList(3, 4, 5, 6, 7));
        
        // 找出相同的元素
        List<Integer> intersection = new ArrayList<>(A);
        intersection.retainAll(B);
        System.out.println("相同的元素:" + intersection);
        
        // 找出不同的元素
        List<Integer> difference = new ArrayList<>(A);
        difference.addAll(B);
        List<Integer> tmp = new ArrayList<>(A);
        tmp.retainAll(B);
        difference.removeAll(tmp);
        System.out.println("不同的元素:" + difference);
    }
}

 

 

假设有两个List集合A和B,可以通过以下代码找出它们中相同的元素和不同的元素:


输出结果:

相同的元素:[3, 4, 5]
不同的元素:[1, 2, 3, 4, 5, 6, 7]

需要注意的是,List集合中的元素可以重复,因此相同的元素可能会出现多次。

 

标签:找出,java,相同,元素,List,new,difference,不通
From: https://www.cnblogs.com/RedOrange/p/17273786.html

相关文章

  • JavaScript
    JavaScript基础JavaScript的作用:表单动态校验(密码强度检测)(JS产生最初的目的)网页特效服务端开发(Node.js)桌面程序(Electron)App(Cordova)控制硬件-物联网(Ruff).游戏开发(cocos2d-js)JS的组成ECMAScriptECMAScript是由ECMA国际(原欧洲计算机制造商协会)......
  • Java面向对象多态
    多态概述Java多态是指同一种类型的对象,在不同的情况下有着不同的状态和行为。它是基于继承、重写和向上转型等特性实现的,多态是面向对象编程的三大特征之一,其他两个分别是封装和继承。Java多态包括以下三种方式方法重写(Override)子类可以对从父类继承的方法进行重写,以便根据子类的......
  • java并发编程(2):Java多线程-java.util.concurrent高级工具
    高级多线程控制类Java1.5提供了一个非常高效实用的多线程包:java.util.concurrent,提供了大量高级工具,可以帮助开发者编写高效、易维护、结构清晰的Java多线程程序。ThreadLocal类ThreadLocal类用来保存线程的独立变量。对一个线程类(继承自Thread)当使用ThreadLocal维护变......
  • java反射机制原理剖析
    当程序运行时,允许改变程序结构或变量类型,这种语言称为动态语言。我们认为java并不是动态语言,但是java有一个非常突出的动态相关机制,俗称:反射。IT行业里这么说,没有反射也就没有框架,现有的框架都是以反射为基础。在实际项目开发中,用的最多的是框架,填的最多的是类,反射这一概念就是将......
  • java并发编程(1):Java多线程-基本线程类-基础知识复习笔记
    复习资料:《同步与异步:并发/并行/进程/线程/多cpu/多核/超线程/管程 》基本线程类基本线程类基本线程类指的是Thread类,Runnable接口,Callable接口继承Thread创建线程继承java.lang.Thread类创建线程是最简单的一种方法,也最直接。publicclassMyThread1extendsThread{}种......
  • 【Java 并发】【十】【JUC数据结构】【七】ConcurrentHashMap前置篇HashMap原理
    1 前言前几节我们分析了一些并发安全的数据结构,分别是CopyOnWrite系列的CopyOnWriteArrayList、BlockingQueue阻塞队列系列的LinkedBlockingQueue、ArrayBlockingQueue、DelayQueue。接下来我们要讲解一个很重要的并发安全的数据结构,ConcurrentHashMap。在Java的数据结构里面平......
  • Java注解(批注)的基本原理
    为什么要使用注解?早期版本的Spring是通过XML文件的形式对整个框架进行配置的,一个缩减版的配置文件如下<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans">    <!-- 配置事物管理器 -->    <bean id="transac......
  • Python同Java及C++的不同之处
    Python同Java及C++的不同之处1.C++、Java对变量的定义很严格比如inta=0python则直接定义a=02.C++、Java代码结束时需要用;隔开比如inta=0;,而python则不用a=0直接换行即可3.C++、Java中的循环或者判断需要用{}括起来for(i=0;i<5;i++){},python使用:forii......
  • Java 异常处理:使用和思考
    概念异常处理的概念起源于早期的编程语言,如LISP、PL/I和CLU。这些编程语言首次引入了异常处理机制,以便在程序执行过程中检测和处理错误情况。异常处理机制随后在Ada、Modula-3、C++、Python、Java等编程语言中得到了广泛采用和发展。在Java中,异常处理是提供一种在程序运行......
  • Java知识小拓展之适配器模式
    一:设计模式设计模式是一套被反复使用的、多数人知晓的、经过分类编写的、设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被人理解、保证代码的可靠性、程序的可靠性。简单的理解它就像给了你一个模板,是一种像数学中的一种解题套路一样,不同的是它有各种套路。二:适配器......