public class Test001 { public static void main(String[] args){ int[] a = {1,2,3,4,5}; int[] b = {2,3,5}; boolean flag = false; int index = 0; int temp = 0; int[] result = new int[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]){ flag = true; temp = 0; break; }else{ flag = false; temp = a[i]; } } if(!flag){ result[index ++] = temp; } } for(int x = 0; x < result.length; x ++){ System.out.println(result[x]); } } }
也可以用List集合做,如下: int[] a = {1,2,3,4,5}; int[] b = {2,3,5}; //新数组 Object [] c =new Object[2]; // 定义两个集合 List list = new ArrayList(); List list1 = new ArrayList();
//将 a 数组的值赋给list for(int i=0;i<a.length;i++) { list.add(a[i]); } //将 b 数组的值赋给 list1 for(int i=0;i<b.length;i++) { list1.add(b[i]); } //循环遍历,将 list 中 与 list1 相同的项删除 ,剩下的就是不同的 for(int i=0;i<list.size();i++) { for(int j=0;j<list1.size();j++) { if( list.get(i)== list1.get(j)) { list.remove(i); } } } //将 list 转为数组 c = list.toArray(); //遍历新数组中的数 for(int i=0;i<c.length;i++) { System.out.println(c[i]); }
int[] b = {2,3,5};
Map<String,Boolean> map = new HashMap<String,Boolean>();
for(int i=0;i<a.length;i++){
if(map.get(a[i]+"") == null){
map.put(a[i]+"",false);
}else{
map.put(a[i]+"",true);
}
}
for(int i=0;i<b.length;i++){
if(map.get(b[i]+"") == null){
map.put(b[i]+"",false);
}else{
map.put(b[i]+"",true);
}
}
for(String str : map.getKeyset()){
if(map[str] == false){
System.out.println("无重复:"+key);
}
}
可以的话,把a做成Map,然后循环b,从a里面remove掉b的元素
public class Test001 { public static void main(String[] args){
int[] a = {1,2,3,4,5};
int[] b = {2,3,5}; boolean flag = false; int index = 0;
int temp = 0;
int[] result = new int[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]){
flag = true;
temp = 0;
break;
}else{
flag = false;
temp = a[i];
}
} if(!flag){
result[index ++] = temp;
}
}
for(int x = 0; x < result.length; x ++){
System.out.println(result[x]);
}
}
}
int[] b = {2,3,5};
//新数组
Object [] c =new Object[2];
// 定义两个集合
List list = new ArrayList();
List list1 = new ArrayList();
//将 a 数组的值赋给list
for(int i=0;i<a.length;i++)
{
list.add(a[i]);
}
//将 b 数组的值赋给 list1
for(int i=0;i<b.length;i++)
{
list1.add(b[i]);
}
//循环遍历,将 list 中 与 list1 相同的项删除 ,剩下的就是不同的
for(int i=0;i<list.size();i++)
{
for(int j=0;j<list1.size();j++)
{
if( list.get(i)== list1.get(j))
{
list.remove(i);
}
}
}
//将 list 转为数组
c = list.toArray();
//遍历新数组中的数
for(int i=0;i<c.length;i++)
{
System.out.println(c[i]);
}