Если вы используете массивы 'Integer' (объект) и хотите использовать методы API Java, вы можете проверить приведенный ниже код.Обратите внимание, что приведенный ниже код, вероятно, имеет большую сложность (так как использует некоторую логику преобразования из одной структуры данных в другую) и потребление памяти (из-за использования объектов), чем примитивный метод, как указано выше.Я только что попробовал ( пожимает плечами ):
public class MergeCollections {
public static void main(String[] args) {
Integer[] intArray1 = new Integer[] {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
Integer[] intArray2 = new Integer[] {2, 3, 5, 7, 8, 11, 13};
Set<Integer> intSet1 = new TreeSet<Integer>();
intSet1.addAll(Arrays.asList(intArray1));
intSet1.addAll(Arrays.asList(intArray2));
System.out.println(intSet1);
}
}
И вывод:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13]
Также проверьте эту ссылку: Algolist - Algo для слиянияотсортированные массивы
РЕДАКТИРОВАТЬ : изменен HashSet на TreeSet
РЕДАКТИРОВАТЬ 2 : Теперь, когда вопрос отредактирован и понятен, ядобавив простое решение для поиска пересечения:
public class Intersection {
public static void main(String[] args) {
Integer[] intArray1 = new Integer[] {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
Integer[] intArray2 = new Integer[] {2, 3, 5, 7, 8, 11, 13};
List<Integer> list1 = Arrays.asList(intArray1);
Set<Integer> commonSet = new TreeSet<Integer>();
for(Integer i: intArray2) {
if(list1.contains(i)) {
commonSet.add(i);
}
}
System.out.println(commonSet);
}
}