用java编写程序,求集合的并集、交集和差集

用java编写程序,求集合的并集、交集和差集,第1张

public static void  main(String[] args) {

     Integer[] A = {1,2,3,4}

     Integer[] B = {1,3,7,9,11}

    

     List<Integer> listA = Arrays.asList(A)

     List<Integer> listB = Arrays.asList(B)

    

     List<Integer> jiaoji = new ArrayList<Integer>()

     for(Integer a:listA){

     if(listB.contains(a)){

     jiaoji.add(a)

     }

     }

     System.out.println(jiaoji)

     List<Integer> bingji = new ArrayList<Integer>()

     for(Integer a:listA){

     if(!bingji.contains(a)){

     bingji.add(a)

     }

     }

     for(Integer b:listB){

     if(!bingji.contains(b)){

     bingji.add(b)

     }

     }

    

     System.out.println(bingji)

    

     List<Integer> chaji = new ArrayList<Integer>()

     for(Integer a:listA){

     if(!listB.contains(a)){

     chaji.add(a)

     }

     }

     System.out.println(chaji)

    }

public static void main(String[] args) {

Set<Character>result = new HashSet<Character>()

Set<Character>set1 = new HashSet<Character>() {

{

add('a')

add('b')

add('c')

add('d')

add('e')

}

}

Set<Character>set2 = new HashSet<Character>() {

{

add('a')

add('b')

add('c')

}

}

result.clear()

result.addAll(set1)

result.retainAll(set2)

System.out.println("交集:" + result)

result.clear()

result.addAll(set1)

result.removeAll(set2)

System.out.println("差集:" + result)

result.clear()

result.addAll(set1)

result.addAll(set2)

System.out.println("并集:" + result)

result.clear()

result.addAll(set1)

if(result.containsAll(set2)){

result.removeAll(set2)

System.out.println("补集:"+result)

}else{

System.out.println("无补集")

}

}

ArrayList里放的是引用,修改完不用再add一次。

import java.util.ArrayList

public class Test {

    public static void main(final String[] args) {

        final Student s1 = new Student("张三", "2018120018", "创智181", "男", 20, "19981218", "中国", "创新创业学院")

        final Student s2 = new Student("李四", "2018120011", "创智181", "男", 19, "19990810", "中国", "创新创业学院")

        final Student s3 = new Student("王五", "2018120068", "创智181", "男", 18, "20001113", "中国", "计算机学院")

        final Student s4 = new Student("赵六", "2018120078", "创智181", "男", 16, "20010506", "中国", "计算机学院")

        System.out.println(s1)

        System.out.println(s2)

        System.out.println(s3)

        System.out.println(s4)

        System.out.println("-----------")

        final ArrayList<Student> arrayList1 = new ArrayList<>()

        arrayList1.add(s1)

        arrayList1.add(s2)

        arrayList1.add(s3)

        arrayList1.add(s4)

        for (final Student s : arrayList1)

            System.out.println(s)

        System.out.println("------------")

        s1.setAge(15)

        s1.setDept("商学院")

        System.out.println(s1)

        System.out.println("------------")

        for (final Student s : arrayList1)

            System.out.println(s)

    }

}

你没贴Student类,凑合写了一点,仅作演示:

public class Student {

    private int age

    private String dept

    private final String name

    private final String birthday

    public Student(final String name, final String birthday, final String string3, final String string4, final int age,

            final String string5, final String string6, final String dept) {

        this.name = name

        this.birthday = birthday

        this.age = age

        this.dept = dept

    }

    public void setAge(final int i) {

        this.age = i

    }

    public void setDept(final String dept) {

        this.dept = dept

    }

    @Override

    public String toString() {

        return String.format("[%s %s %d %s]", name, birthday, age, dept)

    }

}

运行结果:


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/11644405.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存