package javatest;
import java.util.ArrayList;
import java.util.List;
/**
* 问题:有2个数组A,B, B数组中的元素包含在A数组中,请写一段代码把A数组中B没有的元素放道C数组中。
*
* @author Administrator
*
* 程序如下:
*
*/
public class Test02 {
public static void main(String args[]) {
int[] a = {4, 5, 2, 1, 3};
int[] b = {4, 2};
Test02 t = new Test02();
t.getArray(a, b);
}
//展示数组中元素的方法
public void showArray(int[] arr) {
System.out.println("数组c中的元素展示如下:");
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
System.out.println();
}
//获取数组中不同元素的方法
public void getArray(int[] a,int[] b){
List list=new ArrayList();//定义一个链表来增加删除不同的元素
int[] c=new int[a.length-b.length];//定义一个数组c来存放不同的元素
for(int i=0;i<a.length;i++){//先把数组a中的元素都放在链表list中
list.add(a[i]);
}
for(int i=0;i<b.length;i++){//去除数组b中的元素与链表list中元素相同的部分
if(Integer.parseInt(list.get(i).toString()) ==b[i]){
list.remove(i);
}
}
for(int i=0;i<list.size();i++){//把剩下的不同的元素放入数组c中
c[i]=Integer.parseInt(list.get(i).toString());
}
showArray(c);//展示获取的两个数组a和b中不同的元素
}
}
运行结果如下所示:
run:
数组c中的元素展示如下:
5 1 3
成功生成(总时间:0 秒)