[java] 求2个集合的交 差 并集

要求2个集合的交 差 并集。

set集合,如下

 1 import java.util.HashSet;
 2 import java.util.Set;
 3
 4 public class SetTest {
 5     public static void main(String[] args) {
 6         Set<String> set1=new HashSet<String>();
 7         Set<String> set2=new HashSet<String>();
 8         Set<String> result=new HashSet<String>();
 9
10         set1.add("a");
11         set1.add("b");
12         set1.add("c");
13         set1.add("e");
14         set1.add("d");
15
16
17         set2.add("a1");
18         set2.add("b1");
19         set2.add("c1");
20         set2.add("e");
21         set2.add("d");
22
23         result.clear();
24         result.addAll(set1);
25         result.retainAll(set2);
26         System.out.println("交集:"+result);
27
28         result.clear();
29         result.addAll(set1);
30         result.removeAll(set2);
31         System.out.println("差集:"+result);
32
33         result.clear();
34         result.addAll(set1);
35         result.addAll(set2);
36         System.out.println("并集:"+result);
37
38     }
39 }

list集合方法相同,代码如下

 1 import java.util.ArrayList;
 2 import java.util.List;
 3
 4 public class ListTest {
 5     public static void main(String[] args) {
 6         List<String> list1=new ArrayList<String>();
 7         List<String> list2=new ArrayList<String>();
 8         List<String> result=new ArrayList<String>();
 9
10         list1.add("a");
11         list1.add("b");
12         list1.add("c");
13         list1.add("e");
14         list1.add("d");
15
16
17         list2.add("a1");
18         list2.add("b1");
19         list2.add("c1");
20         list2.add("e");
21         list2.add("d");
22
23         result.clear();
24         result.addAll(list1);
25         result.retainAll(list2);
26         System.out.println("交集:"+result);
27
28         result.clear();
29         result.addAll(list1);
30         result.removeAll(list2);
31         System.out.println("差集:"+result);
32
33         result.clear();
34         result.addAll(list1);
35         result.addAll(list2);
36         System.out.println("并集:"+result);
37     }
38
39 }

另外,addAll(),removeAll(),retainAll()三种方法的返回值都是Boolean值,而不是集合类型,需要注意!

时间: 2024-10-14 09:41:06

[java] 求2个集合的交 差 并集的相关文章

java求两个集合的差集

public static void main(String[] args) {Set set = new HashSet();Set set1 = new HashSet();set.add("sanny");set.add("mary");set.add("bill");set.add("tom");set.add("tony");set.add("mark");set.add(&q

用Java求字符串数组的的交集和并集

package com.array; import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; import java.util.Map.Entry; public class StringArray { pu

求两个集合的交集和并集C#

我是用hashset<T>来实现的 具体如代码所示 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace JiaoJi { class Program { static void Main(string[] args) { int [] arrA=new int[8]{1,2,3,4,5,6,7,8}; int [] arrB=new int[5]{4,5,

年年有余之java求余的技巧集合

背景 传说里玉皇大帝派龙王马上降雨到共光一带,龙王接到玉皇大帝命令,立马从海上调水,跑去共光施云布雨,但粗心又着急的龙王不小心把海里的鲸鱼随着雨水一起降落在了共光,龙王怕玉皇大帝责怪,灵机一动便声称他是派鱼到共光,希望百姓可以年年有余,并请求玉皇大帝将这条鱼任命为鱼神,保佑人间太平可以年年有余. 年年有余 java 求余操作初阶 java中也有余的规范[jls-15.17.3],废话不说,直接上代码,从中我们可以学到很多技巧: 例1: int a = 5%3; // 2 int b = 5/3;

[转]Java中常用的集合—初学者的你不可错过的精编整理

集合一直都是项目中非常常见的,我是一个Android开发者,集合对于我来说,在项目中使用的次数非常之多,因为使用的多,熟能生巧,所以这里呢!就给那些初学者整理一下Java当中常用的集合吧!   因为此篇文章是给初学者看到,所以对于集合的认识,我们就不从内存的角度去分析了,等你Java学到一定的时候,再去学习一下集合的底层实现,这会让成为一名更加牛的Java程序员.   在整理之前呢,我们先聊一聊为什么集合会这么常用?,集合这个概念,我们初次接触是在高中的数学当中,高中的集合具有以下知识点:  1

poj3819 Coverage (求直线与圆的交占直线的百分比 )

题意:给你一条直线和若干个圆,求圆与直线相交的长度占整条直线的比例 解题思路:通过定比分点的方法求出圆与直线的交占圆的比例. 第一步:(确定投影的方向是x轴还是y轴) (1)当直线的line.s(x, y), line.e(x, y)的line.s.x与line.e.x不同一时候,这条直线能够等同于起点为line.s.x, line.e.x; (2)不满足(1)时(即line.s.x==line.e.x时),当直线的line.s(x, y), line.e(x, y)的line.s.y与line

Java笔记(15):集合框架(01)

1.对象数组的概述和使用 1 package cn.itcast_01; 2 3 public class Student { 4 // 成员变量 5 private String name; 6 private int age; 7 8 // 构造方法 9 public Student() { 10 super(); 11 } 12 13 public Student(String name, int age) { 14 super(); 15 this.name = name; 16 thi

黑马程序员——JAVA学习笔记八(集合)

1,    JAVA最初版本只为最常用的数据结构提供了很少的一组类:Vector.Stack.Hashtable.BitSet与Enumeration接口,从JAVA1.2版本开始推出了一组功能完善的的数据结构. 集合类的由来:  对象用于封装特有数据,对象多了需要存储,如果对象的个数不确定.  就使用集合容器进行存储. 集合特点: 1,用于存储对象的容器. 2,集合的长度是可变的. 3,集合中不可以存储基本数据类型值. 4,接口与实现相互分离. 集合框架是为表示和操作集合而规定的一种统一的标准

java复习整理之集合

------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.ios培训..Net培训</a>.期待与您交流!------ java复习整理之集合: Collection:集合中的最顶层接口,提供了一些操作集合的共性方法添加:boolean add(E e)boolean addAll(Collection<? extends E> c)删除:void