java 中怎么抽取两个数组中公有的元素
答案:4 悬赏:0 手机版
解决时间 2021-02-19 11:58
- 提问者网友:謫仙
- 2021-02-19 06:03
例如int[] arr1={2,2,2}; int[] arr2={2,2,5}; 变为int[] arr3={2,2}; 麻烦具体点,谢谢。
最佳答案
- 五星知识达人网友:雾月
- 2021-02-19 06:34
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class MainTest {
public static void main(String[] args) {
String[] a = { "2", "2", "5" };// 数组a
String[] b = { "2", "2", "2" };// 数组b
List<String> bList = new ArrayList<String>();// 数组b转换的list
Collections.addAll(bList, b);// 把数组b的内容放到bList里去
List<String> commonList = new ArrayList<String>();// 保存a和b共同元素的list
// 循环a数组
for (String aValue : a) {
// 判断b中是否包含元素aValue,包含则增加为a和b的共元素
if (bList.contains(aValue)) {
commonList.add(aValue);
}
}
// 打印commonList
System.out.println(commonList.toString());
}
}
import java.util.Collections;
import java.util.List;
public class MainTest {
public static void main(String[] args) {
String[] a = { "2", "2", "5" };// 数组a
String[] b = { "2", "2", "2" };// 数组b
List<String> bList = new ArrayList<String>();// 数组b转换的list
Collections.addAll(bList, b);// 把数组b的内容放到bList里去
List<String> commonList = new ArrayList<String>();// 保存a和b共同元素的list
// 循环a数组
for (String aValue : a) {
// 判断b中是否包含元素aValue,包含则增加为a和b的共元素
if (bList.contains(aValue)) {
commonList.add(aValue);
}
}
// 打印commonList
System.out.println(commonList.toString());
}
}
全部回答
- 1楼网友:行雁书
- 2021-02-19 10:46
public class Test {
public static void main(String[] args) {
int[] arr1={2,2,2};
int[] arr2={2,2,5};
List<Integer> sameArrayList = findSameElementIn(arr1,arr2);//调用方法将数组中的元素放入set集合中去重
int [] array = new int[sameArrayList.size()];//根据返回的数据长度新建数组
for (int i = 0; i < sameArrayList.size(); i++) {
array[i]=sameArrayList.get(0);//将返回的数据放入数组中
}
System.out.println(array);
}
public static List<Integer> findSameElementIn(int[] arr1,int[] arr2) {
List<Integer> sameArrayList = new ArrayList<Integer>();//用来存放两个数组中相同的元素
Set<Integer> tempSet = new HashSet<Integer>();//用来存放数组1中的元素
for(int i=0;i<arr1.length;i++) {
tempSet.add(arr1[i]);//把数组1中的元素放到Set中,可以去除重复的元素
}
for(int j=0;j<arr2.length;j++) {
//把数组2中的元素添加到tempSet中
//如果tempSet中已存在相同的元素,则tempSet.add(array2[j])返回false
if(!tempSet.add(arr2[j])) {
//返回false,说明当前元素是两个数组中相同的元
sameArrayList.add(arr2[j]);
}
}
return sameArrayList;
}
}
- 2楼网友:天凉才是好个秋
- 2021-02-19 09:12
public class Test {
public static void main(String[] args) {
int[] arr1={2,2,2};
int[] arr2={2,2,5};
List sameArrayList = findSameElementIn(arr1,arr2);//调用方法将数组中的元素放入set集合中去重
int [] array = new int[sameArrayList.size()];//根据返回的数据长度新建数组
for (int i = 0; i < sameArrayList.size(); i++) {
array[i]=sameArrayList.get(0);//将返回的数据放入数组中
}
System.out.println(array);
}
public static List findSameElementIn(int[] arr1,int[] arr2) {
List sameArrayList = new ArrayList();//用来存放两个数组中相同的元素
Set tempSet = new HashSet();//用来存放数组1中的元素
for(int i=0;i
- 3楼网友:零点过十分
- 2021-02-19 08:05
先将数组转成List,list1,list2 新建一个list3
for(int i=0;i<list2.size();i++){
int a =list1.indexof(list2.get(i))
if(a!=-1){
list3.add(list2.get(i))
}
}
return list3.toArray()
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯