Java两个数组合并,去除重复元素

两个有顺的数组进行合并

static int []a = {1,3,8,20};
	
	static int []b = {2,3,11,12,15,26,27};
	//定义下标  a=i b=j c=szie 
	int i,j,size = 0;
	
	public int[] test(int []a,int []b) {
		//定义数组 a+b
		int [] c = new int[a.length+b.length];
		//循环数组
		while(i < a.length && j < b.length) {
			//判断a==b 成立 进行获取 a或b 的值 a,b下标往后移一个位置
			if(a[i] == b[j]) {
				c[size++] = a[i];
				i++;j++;
			}else {
				//判断 a < b 进行赋值
				c[size++] = a[i] < b[j] ? a[i++] : b[j++];
			}
		}
		/**
		 *  比较完成之后判断 a和b的值是否都进入
		 *  两个数组相等留下 a 的最后一个值
		 *  长度不一样就会留下,很多
		 */
        while (i < a.length) {
            c[size++] = a[i++];
        }
        while (j < b.length) {
        	  c[size++]= b[j++];
        }
		return c;
	}
	public static void main(String[] args) {
		Main main = new Main();
		int []ia = main.test(a,b);
		System.out.println(Arrays.toString(ia));
	}

猜你喜欢

转载自blog.csdn.net/xulinglin520/article/details/81626054