本文共 1625 字,大约阅读时间需要 5 分钟。
阅读目录
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) { Listl1 = 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---
在操作之前对原对象进行了拷贝,如果对原对象直接操作会修改原来的对象
本文转自jihite博客园博客,原文链接:http://www.cnblogs.com/kaituorensheng/p/7226085.html,如需转载请自行联系原作者