A. java程序,给定的两个数组求交集,我知道用两个 for循环可以得到这些数
publicclassIntersection{
publicstaticvoidmain(String[]args){
//给定两个数组
int[]as={1,5,8,9,4,6};
int[]bs={5,7,3,2};
//记录相同的元素(String类型方便下面判断)
String[]cs=newString[as.length>bs.length?as.length:bs.length];//长度不超过上麦年量数组中最大长度
//循环比较
for(inti=0;i<as.length;i++){
intflag=0;//有相同元素标记
for(intj=0;j<bs.length;j++){
if(bs[j]==as[i]){
flag=flag+1;
}
}
intplace=0;//记录cs数组已经有几个元素
for(Stringj:cs){
place=0;
if(j!=null&&j!=""){
place=place+1;
}
}
if(flag!=0){
cs[place]=as[i]+"";
}
}
//循环输出交集数组
for(Stringi:cs){
if(i!=null){
System.out.println(i);
}
}
}
}
B. java数组求交集
public class NumberTest {
public static void main(String[] args) {
int[] a = {1,3,4,5,6};
int[] b = {2,4,6,8,10};
for(int i=0;i<a.length;i++){
for(int j=0;j<b.length;j++){
if(a[i] == b[j]){
System.out.print(a[i] + " ");
}
}
}
}}输出结果: 4,6
C. java 求三个数组的交集等于第四个数组
//求两个数组的交集
public static String[] intersect(String[] arr1, String[] arr2) {
Map<String, Boolean> map = new HashMap<String, Boolean>();
LinkedList<String> list = new LinkedList<String>();
for (String str : arr1) {
if (!map.containsKey(str)) {
map.put(str, Boolean.FALSE);
}
}
for (String str : arr2) {
if (map.containsKey(str)) {
map.put(str, Boolean.TRUE);
}
}
for (Entry<String, Boolean> e : map.entrySet()) {
if (e.getValue().equals(Boolean.TRUE)) {
list.add(e.getKey());
}
}
String[] result = {};
return list.toArray(result);
}
两次 求交集, 再用Arrays.equals比较是否相等
D. java 求三个数组的交集
其实可以参考一楼的。
// 求两个数组的交集
public static void intersect(Double[] arr1, Double[] arr2, Double[] arr3) {
for (Double str : arr1) {
if(Arrays.asList(arr2).contains(str) && Arrays.asList(arr3).contains(str)){
System.out.println(str);
}
}
}
public static void main(String[] args) {
Double[] arrayA = new Double[]{1d,2d,3d,4d,5d};
Double[] arrayB = new Double[]{1d,2d,7d,8d,9d};
Double[] arrayC = new Double[]{1d,2d,3d,4d,9d};
intersect(arrayA, arrayB, arrayC);
}
E. 再问一下关于:java中两个数组的交集怎么求
交集不就是元素相同吗,两个for循环一个一个比较
F. java array1,array2,array3三个数组取交集
List<Object> list=new ArrayList<Object>();
for(Object o:array1){
if(Arrays.asList(array2).contains(o)&&Arrays.asList(array3).contains(o)){
list.add(o);
}
}
return list.toArray();
G. 在java中怎么判断一个数组包含另一个数组
双循环,把数组中的每一个值都拿来做比较、判断!!1
public static boolean containArray(int[] a, int[] b) {
boolean flag = false;
int k = 0;
/**
* 统计b中包含a中的元素是否与a的元素个数相同
*/
if (a.length < b.length) {
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < b.length; j++) {
if (a[i] == b[j]) {
k++;
System.out.println(a[i] +"/"+ b[j]);
continue;
}
}
}
}
if (k == a.length) flag = true;
return flag;
}
H. Java如何找到两个数组的交集
//方法有很多,说一个简单点..
importjava.util.Arrays;
importjava.util.HashSet;
publicclassRetTest{
publicstaticvoidmain(String[]args){
HashSet<Integer>hs=newHashSet<Integer>();//set集合
int[]a={1,2,3,4,5},//两个数组
b={0,3,4,5,6};
for(inti=0;i<a.length;i++){//外层
for(intj=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);
}
}