Set<ArrayList<Integer>> hs = new HashSet<ArrayList<Integer>>();
ArrayList<Integer> arr = new ArrayList<Integer>();
arr.add(1);
arr.add(2);
arr.add(3);
arr.add(4);
hs.add(arr);
ArrayList<Integer> arr1 = new ArrayList<Integer>();
arr1.add(4);
arr1.add(3);
arr1.add(2);
arr1.add(1);
hs.add(arr1);
System.out.println(hs.size());
Выход, который я получаю, равен 2. Я хочу получить 1, поскольку оба элемента массива имеют одинаковые элементы. Как я могу это достичь?Набор архаристов в Java
Это опечатка. Вы добавляете 'arr' вместо' arr1'. – shmosel
Я установил опечатку и изменил порядок элементов. Я все равно получаю 2. Однако, если элементы имеют одинаковый порядок, тогда он дает 1. Но мне нужно, чтобы он работал для любого заказа. –
Теперь вы задаете отдельный вопрос. Списки упорядочиваются по определению. Если вам нужно неупорядоченное сравнение, используйте набор. – shmosel