import java.util.Arrays
import java.util.HashSet
public class RetTest {
public static void main(String[] args) {
HashSet<Integer> hs=new HashSet<Integer>()//set集合
b={0,3,4,5,6}
for (int i = 0 i < a.length i++) {//外层
for (int j = 0 j < b.length j++) {//内层
if(a[i]==b[j]) {//如果一样
hs.add(a[i])//就装集合
}
}
}
System.out.println("a:"+Arrays.toString(a))
System.out.println("b:"+Arrays.toString(b))
System.out.println("交集为:"+hs)
}
}
空间换时间,先创建Map集合Map<T,Integer>map,然后遍历第一个数组,调用map.put(T,1),然后遍历第二个数组的每个元素T,如果map.get(T) != null,则说明该元素为两个数组的交集,否则不是。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.length>bs.length?as.length:bs.length]//长度不超过上麦年量数组中最大长度
//循环比较
for(int i=0i<as.lengthi++){
int flag = 0//有相同元素标记
for(int j=0j<bs.lengthj++){
if(bs[j]==as[i]){
flag = flag + 1
}
}
int place = 0//记录cs数组已经有几个元素
for (String j : cs) {
place = 0
if(j!=null&&j!=""){
place = place + 1
}
}
if(flag!=0){
cs[place] = as[i]+""
}
}
//循环输出交集数组
for (String i : cs) {
if(i!=null){
System.out.println(i)
}
}
}
}