Вопрос говорит обо всем на самом деле. Я пытался использовать LinkedHashSet, но это не сработало. Если я не ошибаюсь, сравнения выполнялись неправильно из-за того, что он сравнивал целочисленные массивы.
Моя цель - создать метод removeDuplicates (* ArrayList ) stati c. Метод должен сравниваться на основе содержимого массивов. Моя попытка до сих пор:
import java.util.ArrayList;
import java.util.LinkedHashSet;
public class test {
public static void main(String[] args) {
ArrayList<Integer[]> arrayList = new ArrayList<>();
Integer[] array1 = new Integer[2];
array1[0] = 1;
array1[1] = 4;
Integer[] array2 = new Integer[2];
array2[0] = 1;
array2[1] = 4;
arrayList.add(array1);
arrayList.add(array2);
LinkedHashSet<Integer[]> hashSet = new LinkedHashSet<>(arrayList);
ArrayList<Integer[]> listWithoutDuplicates = new ArrayList<>(hashSet);
System.out.println("Number of elements before using linkedhashset: " + arrayList.size());
System.out.println("number of elements after: (expecting 1) " + listWithoutDuplicates.size());
}
}
дает результат:
Number of elements before using linkedhashset: 2
number of elements after (expecting 1): 2