快速取两个集合的交集
来源:互联网 发布:vb编程实例 编辑:程序博客网 时间:2024/06/06 07:45
这两天用到了取集合和数组交集的问题,写了两个方法。代码片段如下:
package com.yuanyuan;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;public class Test2 { public static void main(String[] args) { List<Integer> list1 = new ArrayList<>(); list1.add(5); list1.add(9); list1.add(12); List<Integer> list2 = new ArrayList<>(); list2.add(5); list2.add(9); list2.add(15); //List<Integer> list = getIntersection(list1, list2); List<Integer> list = getIntersection2(list1, list2); System.out.println(list.toString());//[5, 9] } /** * 取两个集合的交集 * @param <T> * @param list1 * @param list2 */ public static <T> List<T> getIntersection(List<T> list1, List<T> list2){ List<T> list = new ArrayList<>(); if (list1 != null && list2 != null) { for (T t : list1) { if (list2.contains(t)) { list.add(t); } } } return list; } public static <T> List<T> getIntersection2(List<T> list1, List<T> list2){ List<T> list = new ArrayList<>(); Map<T, Boolean> map = new HashMap<>(); for (T t : list1) { map.put(t, false); } for (T t : list2) { if (map.keySet().contains(t)) { map.put(t, true); } } for (T t : map.keySet()) { if (map.get(t) == true) { list.add(t); } } return list; }}
阅读全文
1 0
- 快速取两个集合的交集
- Java取两个集合的交集
- JAVA快速求取两个集合的交集 Vector-retainAll
- 求两个集合的交集
- 两个集合List的交集
- 求两个集合的交集
- Lintcode两个集合的交集
- 求两个集合的交集
- Oracle 取两个表中数据的交集并集差异集合
- Oracle 取两个表中数据的交集并集差异集合
- 取两个已排序数组的交集
- js取两个数组的交集
- INTERSECT 两个单独的sql取交集
- retainAll()--取两个List的交集
- 两个集合的交集,并集,差
- 求两个集合交集的方法比较
- C语言:计算两个集合的交集
- 【算法】找两个有序集合的交集
- hdu3966(树链剖分)
- java中常用的快捷键
- ruby rails指定版本创建项目报错指导
- 【剑指offer】面试题 25:合并两个排序的链表
- 多图片上传(前端)
- 快速取两个集合的交集
- SQL新手新手向入门修炼-分析函数
- RSS——<channel> 元素
- JAVA开发环境的搭建(配置JAVA开发环境)以及使用eclipse从头一步步创建java项目
- 利用php生成xml
- Android学习笔记之图像颜色处理(ColorMatrix)
- 鼠标测试工具Simple_Mouse_Test
- ACM 迭代深搜法 Power Calculus
- 用卷积公式求概率密度时确定积分区间