「java交集算法」求集合交集的算法

博主:adminadmin 2023-01-02 20:09:07 660

本篇文章给大家谈谈java交集算法,以及求集合交集的算法对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java程序,给定的两个数组求交集,我知道用两个 for循环可以得到这些数

public class Intersection {

public static void main(String[] args) {

//给定两个数组

int[] as = {1,5,8,9,4,6};

int[] bs = {5,7,3,2};

//记录相同的元素(String类型方便下面判断)

String[] cs = new String[as.lengthbs.length?as.length:bs.length];//长度不超过上麦年量数组中最大长度

//循环比较

for(int i=0;ias.length;i++){

int flag = 0;//有相同元素标记

for(int j=0;jbs.length;j++){

if(bs[j]==as[i]){

flag = flag + 1;

}

}

int place = 0;//记录cs数组已经有几个元素

for (String j : cs) {

place = 0;

if(j!=nullj!=""){

place = place + 1;

}

}

if(flag!=0){

cs[place] = as[i]+"";

}

}

//循环输出交集数组

for (String i : cs) {

if(i!=null){

System.out.println(i);

}

}

}

}

JAVA求两个数组交集中元素的个数

import java.util.Scanner;

public class JiaoJi {

public static void main(String[] args) {

Scanner in=new Scanner(System.in);

int set1_length=in.nextInt();

int set1[]=new int[set1_length];

for(int count1=0;count1set1_length;count1++) {

set1[count1]=in.nextInt();

}

int set2_length=in.nextInt();

int set2[]=new int[set2_length];

int number=0;

for(int count2=0;count2set2_length;count2++) {

set2[count2]=in.nextInt();

for (int count1=0; count1set1_length;count1++) {

if(set1[count1]==set2[count2]) number++;

}

}

in.close();

if (number==0) System.out.println("None");

else System.out.println(number);

}

}

java求交集和并集

虽然想尽量维持你程序的原型,但是还是改的差不多了。学java注重的是面向对象的思想,建议你不要把太多精力放在这些算法上面,不能再像学习C语言那样学习java。

public class Group{

public void jiaoji(int[] a,int[] b){

for(int i=0;ia.length;i++){

for(int j=0;jb.length;j++){

if(a[i]==b[j]){

System.out.print(a[i]+",");

}

}

}

}

public void bingji(int[] a,int[] b){

for(int i=0;ia.length;i++){

System.out.print(a[i]+",");

}

for(int i=0;ib.length;i++){

boolean flag=true;

for(int j=0;ja.length;j++){

if(b[i]==a[j]){

flag=false;

}

}

if(flag){

System.out.print(b[i]+",");

}

}

}

public static void main(String[] args){

int a[]={1,2,3,4,5};

int b[]={4,5,6,7,8};

Group group=new Group();

System.out.print("交集为:");

group.jiaoji(a,b);

System.out.print("\n并集为:");

group.bingji(a,b);

}

}

再问一下关于:java中两个数组的交集怎么求

空间换时间,先创建Map集合MapT,Integer map,然后遍历第一个数组,调用map.put(T,1),然后遍历第二个数组的每个元素T,如果map.get(T) != null,则说明该元素为两个数组的交集,否则不是。

Java里面如何求两个集合的交集

用Collection提供的retainAll方法,如下是测试代码:

import java.util.*;

public class TestList1{

public static void main(String[] args){

List list1=new ArrayList();

list1.add("A");list1.add("B");list1.add("C");

List list2=new ArrayList();

list2.add("B");list2.add("C");list2.add("D");

list1.retainAll(list2);

System.out.println(“交集为:”+list1);

}

}

//测试:

//交集为:[B, C]

java交集算法的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于求集合交集的算法、java交集算法的信息别忘了在本站进行查找喔。