【Java】两个集合取交集

	public static void main(String[] args) {
	    Set<String> set1 = new HashSet<String>();  
	    Set<String> set2 = new HashSet<String>();  
	    set1.add("abc");  set2.add("abc");  
	    set1.add("123");  set2.add("123");  
	    set1.add("ABC");  set2.add("XYZ");
	   
	    //此处注意,retainAll之后,set1的内容将会发生改变,改变为两个集合的交集内容,
	    //如不想set1的内容发生改变,则新建一个List保存
	    set1.retainAll(set2);
	    System.out.println("交集元素个数是:"+set1.size()); 
	}
时间: 2024-10-21 01:30:15

【Java】两个集合取交集的相关文章

java8两个List集合取交集、并集、差集、去重并集

import java.util.ArrayList; import java.util.List; import static java.util.stream.Collectors.toList; public class Test { public static void main(String[] args) { List<String> list1 = new ArrayList<String>(); list1.add("1"); list1.add

Linq两个List集合取交集

来自森大科技官方博客http://www.cnsendblog.com/index.php/?p=210GPS平台.网站建设.软件开发.系统运维,找森大网络科技!http://cnsendnet.taobao.com 1.法一:常规方法 2.嗯,.NET中所有的sort,compare都支持自定义“比较方法”继承这个接口即可 来自森大科技官方博客http://www.cnsendblog.com/index.php/?p=210GPS平台.网站建设.软件开发.系统运维,找森大网络科技!http:

2017-6-2 Linq 高级查询 (分页和组合查)、集合取交集

1.linq分页和组合查询:(用项目实战来解释) <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <he

集合取交集和差集

List<int> arr1 = new List<int>() { 1, 2, 3, 4 }; List<int> arr2 = new List<int>() { 4, 5, 6, 7 }; var arr3 = arr1.Intersect(arr2).ToList(); var arr4 = arr1.Except(arr2).ToList();  

计算两个集合的交集数字(java)

循环判断2个数组 将相同的公共元素复制到新数组中即可 1 2 3 import java.util.Arrays; 4 5 public class count_same_number { 6 7 public static int[] join(int[] a,int[] b) 8 { 9 int count=0; 10 int new_target[]=new int[Math.max(a.length, b.length)];//新数组 11 int index=0; 12 for(int

Java求两个List的交集

1 package demo; 2 3 import java.util.List; 4 5 public class Demo { 6 7 @SuppressWarnings("unchecked") 8 public static void main(String[] args) { 9 List array1=new ArrayList(); 10 array1.add("1");array1.add("2"); 11 List array

编写Spark的WordCount程序并提交到集群运行[含scala和java两个版本]

编写Spark的WordCount程序并提交到集群运行[含scala和java两个版本] 1. 开发环境 Jdk 1.7.0_72 Maven 3.2.1 Scala 2.10.6 Spark 1.6.2 Hadoop 2.6.4 IntelliJ IDEA 2016.1.1 2. 创建项目1) 新建Maven项目 2) 在pom文件中导入依赖pom.xml文件内容如下: <?xml version="1.0" encoding="UTF-8"?> &l

两个数组取交集的算法

在Lucene中,如果用户的查询向量Term t = {xx,xx,……},BooleanQuery为AND时,每个t---->对应得到的倒排列表,倒排列表由许多的倒排索引项构成,然后取其中重复的文档编号,然后进行排序.器核心思想类似于如下问题: 现有两个数组:int []data1 = {12,45,65,2,5} int []data2 = {12,5,-8,9},取其中的交集. 实现的方案有很多,现在采取一种时间和空间相对较好的算法:集合压缩算法,即:1.分别计算两个数组的min和max(

求两个数组的交集

问题: 给你两个排序的数组,求两个数组的交集. 比如: A = 1 3 4 5 7, B = 2 3 5 8 9, 那么交集就是 3 5. 思路: 1. 每一次从B数组中取一值,然后在A数组里逐个比较,如果有相等的,则保存.该算法复杂度为 O(MN). M, N 分别为数组 A B 的长度. 2. 因为A B 都排过序,所以,每一次从B数组取值后,可以利用二分查找看是否在数组A里有B所对应的值,这样复杂度变成了O(N lg M). 这里,如果N 比 M 大,可以从A中取值,然后在B中判断是否有A