「java交集算法」求集合交集的算法
本篇文章给大家谈谈java交集算法,以及求集合交集的算法对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java程序,给定的两个数组求交集,我知道用两个 for循环可以得到这些数
- 2、JAVA求两个数组交集中元素的个数
- 3、java求交集和并集
- 4、再问一下关于:java中两个数组的交集怎么求
- 5、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交集算法的信息别忘了在本站进行查找喔。