У меня есть набор строковых массивов, и я хочу удалить из него повторяющиеся элементы...
String[] arr1 = {"a1","b1"};
String[] arr2 = {"a2","b2"};
Set<String[]> mySet = new HashSet<String[]>();
mySet.add(arr1);
mySet.add(arr2);
mySet.add(new String[] {"a1","b1"});
System.out.print(mySet.size());
В настоящее время mySet выглядит так:
[{"a1","b1"},{"a2","b2"},{"a1","b1"}]
Но я хочу вот так:
[{"a1","b1"},{"a2","b2"}]
Я знаю несколько способов...
- Каждый раз, когда мне нужно запустить внутренний цикл и проверить его дубликат или нет.
- Могу ли я переопределить поведение набора? (hashcode или равно)? (я не знаю, как....)
- Нужно ли мне изменять структуру данных для этого? (связанныйhashset или список или любая другая подходящая структура данных для этого?)