Могут ли элементы строки [] быть в разных порядках и при этом сделать весь массив равным другому массиву, содержащему те же элементы в другом порядке?Если да, то вам действительно лучше реализовать класс контейнера и переопределить equals и hashcode.
, если нет, и если приемлемым вариантом является хранение внутренних элементов в виде списков вместо массивов, то вы можете сделать это:
package com.stackoverflow;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public class StringContainment {
public static void main(final String[] args) {
final Set<String[]> s = new HashSet<String[]>();
final Set<List<String>> s2 = new HashSet<List<String>>();
s.add(new String[] {"lucy", "simon"});
s2.add(Arrays.asList(new String[] { "lucy", "simon" }));
System.out.println(s.contains(new String[] {"lucy", "simon"})); // false
System.out.println(s2.contains(Arrays.asList(new String[] {"lucy", "simon"}))); // true
}
}
Первая проверка вернет false, вторая - true.Так может быть проще, если вы можете использовать списки.
Если вы не можете, вы можете использовать это до тех пор, пока вам не нужно делать это сравнение слишком часто (это определенно не очень хорошая идея.-wise).