导航:首页 > 编程语言 > 数组交集java

数组交集java

发布时间:2022-07-22 04:58:34

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);
}
}

阅读全文

与数组交集java相关的资料

热点内容
linuxgethostname 浏览:413
程序员多数有对象 浏览:131
单片机延时程序计算 浏览:444
编译原理语法翻译 浏览:504
pr编译出错渲染存在偏移 浏览:262
如何制作自家的app 浏览:199
推荐一个解压软件rar解压帮手 浏览:210
wd文档加密器 浏览:747
服务器上传压缩包一般是什么格式 浏览:333
发送加密文件密码几位数 浏览:160
树洞app怎么样 浏览:175
vivo编译时间可以改么 浏览:150
编译和编辑怎么区分 浏览:980
iar编译文件顺序 浏览:899
java二叉搜索树 浏览:633
王者怎么看好友的服务器 浏览:733
无线编码单片机 浏览:464
天联高级版域名服务器地址 浏览:206
鸿蒙用什么编译 浏览:730
服务器如何迅速扩容 浏览:792