Here you can find the source of union(int[] sorted1, int[] sorted2)
public static int[] union(int[] sorted1, int[] sorted2)
//package com.java2s; //License from project: Open Source License import java.util.Arrays; public class Main { public static int[] union(int[] sorted1, int[] sorted2) { int[] result = new int[sorted1.length + sorted2.length]; int i = 0, j = 0, k = 0; while (i < sorted1.length && j < sorted2.length) { if (sorted1[i] < sorted2[j]) { result[k] = sorted1[i];//from w ww .j a va2 s .c o m i++; } else if (sorted1[i] > sorted2[j]) { result[k] = sorted2[j]; j++; } else { //equal result[k] = sorted2[j]; j++; i++; } // if (k > 0 && last == result[k]) // k--; // last = result[k]; k++; } while (i < sorted1.length) { result[k] = sorted1[i]; i++; k++; } while (j < sorted2.length) { result[k] = sorted2[j]; j++; k++; } return Arrays.copyOf(result, k); } }