【java】Collection的拼接和并集
来源:互联网 发布:tcl 不能看网络电视 编辑:程序博客网 时间:2024/06/04 20:07
转载请注明出处:http://blog.csdn.net/u012250875/article/details/78193285
集合操作常常需要进行一些如多个集合进行拼接,求并集,下面来看看怎么做拼接和求并集
1.拼接(含重复元素并集,严格意义上并集不含重复元素)
实现一:
//采用Collection定义的方法addAll(),适用两个集合进行拼接A.addAll(B);
实现一的这种方式最终拼接的结果将放在A中,因此A放生改变了;如果要拼接的集合有几十个,这也不是很方便。
下面我们自己来实现这个功能
实现二:
/** * @author puyf * @Description:拼接所有需要拼接的集合,输入->输出:Collection<K extends Collection<T>> ->> List<T> * @param datas 泛型为K的集合(K是一个Collection的子集就行了,这样datas中的元素K可以是List,可以是Set) * @return 以List<T>的形式拼接所有集合 */ public static <T, K extends Collection<T>> List<T> contact(Collection<K> datas) { List<T> result = new ArrayList<>(); for (K k : datas) { result.addAll(k); } return result; } /** * @author puyf * @Description:拼接所有需要拼接的集合,输入->输出:n个K(K满足K extends Collection<T>) ->> List<T> * @param datas 可变参数datas,datas的泛型为K(K是一个Collection的子集就行了,这样datas中的元素K可以是List,可以是Set) * @return 以List<T>的形式拼接所有集合 */ public static <T, K extends Collection<T>> List<T> contact(K... datas) { return contact(Arrays.asList(datas)); } //测试 public static void main(String[] args) { List<Integer> listdata1 = new ArrayList<>(Arrays.asList(new Integer[]{1,2,3,4,5,6,7,8})); List<Integer> listdata2 = new ArrayList<>(Arrays.asList(new Integer[]{1,2,3,4,5,6,7,8})); Set<Integer> set = new HashSet<>(Arrays.asList(new Integer[]{99,100})); List<Collection<Integer>> input = new ArrayList<>(); input.add(listdata1); input.add(listdata2); input.add(set); System.out.println("contact可以完成拼接功能:"); System.out.println(contact(input)); System.out.println(contact(listdata1,listdata2,set)); }//测试结果如下:contact可以完成拼接功能:[1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8, 99, 100][1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 6, 7, 8, 99, 100]
2.并集
在集合拼接的基础上进行去重即可(查看集合的去重)
阅读全文
0 0
- 【java】Collection的拼接和并集
- java的Collection和Map
- Java的类集框架二:Collection和Iterator接口
- JAVA的字符串拼接和性能
- java的Collection和Map详解
- java的Collection和Map详解
- Java 中Collection的区别和使用
- 关于Collection.sort和java的枚举
- java的Collection和Map详解
- java的Collection和Map详解
- java的Collection和Map详解
- java的Collection和Map详解
- java的Collection和Map详解
- Java Collections 和Collection的区别
- Java中Collection和Collections的区别
- java collections和collection的区别
- Java中Collection和Collections的区别
- Java中Collection和Collections的区别
- Linux进程的几种状态之R、S、D、T、Z
- 最详细易懂的CRC-16校验原理(附源程序)
- 【AS真机调试】小米手机AS调试出问题
- 机器学习基础—— Trick(调参技巧)
- class-dump
- 【java】Collection的拼接和并集
- 借助CSS Shapes实现元素滚动自动环绕iPhone X的刘海
- easyui常见属性
- go学习(十三)——Go 语言socket用户并发请求性能测试
- 1020. 月饼 (25)
- Linux-第一单元练习
- Jmeter测试Java请求示例
- Ecilpse复制粘贴很慢,出现卡死现象及解决方法
- MyBaties 几种传参数的方式