Массивы hashCode()
и equals()
немного сломаны, когда дело доходит до этого (это длинное другое обсуждение, почему).
Возможная работа заключается в том, чтобы использовать ArrayList<ArrayList<String>>
вместо из ArrayList<String[]>
, метод equals()
для ArrayList
будет таким, как вы ожидаете.
Например:
ArrayList<String> l1 = new ArrayList<>();
ArrayList<String> l2 = new ArrayList<>();
l1.add("asdf");
l2.add("asdf");
ArrayList<ArrayList<String>> coll = new ArrayList<>();
coll.add(l1);
System.out.println(coll.contains(l2));
Выдает true
, как и ожидалось