博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java 集合并交补
阅读量:7110 次
发布时间:2019-06-28

本文共 2382 字,大约阅读时间需要 7 分钟。

示例

package com.example;import java.util.ArrayList;import java.util.Arrays;import java.util.Collections;import java.util.List;public class ListOpt {    private List intersect(List ls1, List ls2) {        List list = new ArrayList(Arrays.asList(new Object[ls1.size()]));        Collections.copy(list, ls1);        list.retainAll(ls2);        return list;    }    private List union(List ls1, List ls2) {        List list = new ArrayList(Arrays.asList(new Object[ls1.size()]));        Collections.copy(list, ls1);        list.addAll(ls2);        return list;    }    private List diff(List ls1, List ls2) {        List list = new ArrayList(Arrays.asList(new Object[ls1.size()]));        Collections.copy(list, ls1);        list.removeAll(ls2);        return list;    }    public static void main(String[] args) {        List
l1 = new ArrayList
() {
{ add(1); add(2); add(3); }}; List
l2 = new ArrayList
() {
{ add(2); add(3); add(4); }}; ListOpt opt = new ListOpt(); List intersectList = opt.intersect(l1, l2); List union = opt.union(l1, l2); List diff = opt.diff(l1, l2); print(intersectList); print(union); print(diff); } private static void print(List lst) { if (lst.size() == 0) { return; } for (int i = 0; i

输出

23---123234---1---

在操作之前对原对象进行了拷贝,如果对原对象直接操作会修改原来的对象

另一种写法

/** * Created by yuhui on 2017/7/11 0011. */import java.util.HashSet;import java.util.Set;public class TestSet {    public static void main(String[] args) {        Set
result = new HashSet
(); Set
set1 = new HashSet
() { { add("王者荣耀"); add("英雄联盟"); add("穿越火线"); add("地下城与勇士"); } }; Set
set2 = new HashSet
() { { add("王者荣耀"); add("地下城与勇士"); add("魔兽世界"); } }; 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); }}

 

转载地址:http://fllhl.baihongyu.com/

你可能感兴趣的文章
Add Console Application Program to the MFC Program
查看>>
Oracle中可被并行化执行的SQL操作
查看>>
新的Layout布局系统
查看>>
java链表
查看>>
VC获取操作系统版本和名称
查看>>
禁止复制
查看>>
使用GLSL实现更多数量的局部光照 【转】
查看>>
rundll32命令大全
查看>>
OC 内存管理-02 autorelease 概念 以及用法
查看>>
IPC——匿名管道
查看>>
AsyncSocket长连接棒包装问题解决
查看>>
ios调用dismissViewController的一个小陷阱
查看>>
[Android Pro] static 和 Volatile 的区别
查看>>
深入理解PHP内核(八)变量及数据类型-预定义变量
查看>>
linker command failed with exit code 1 (use -v to see invocation)
查看>>
播放后台音频
查看>>
多线程 这一篇仔细看
查看>>
Nokia 920板砖自救(理论上通用,升级Win10成板砖也可以用这个恢复)
查看>>
Anroid搭建一个局域网Web服务器
查看>>
kettle删除资源库中的转换或者作业
查看>>