Правильный способ сравнения двух наборов — использовать метод equals
. Я бы не беспокоился о производительности, если бы вы не доказали, что это часть вашего кода, вызывающая проблемы с производительностью (в чем я сомневаюсь). И, учитывая размер ваших наборов (5 элементов), это будет очень быстро (вероятно, меньше миллисекунды).
сохраняйте их в виде списков, сортируйте их и сравнивайте. (сопоставимо)
конечно будет медленнее, так как вам нужно будет копировать элементы, сортировать их и сравнивать.
сохранить их как наборы и сравнить хэш-код наборов?
если 2 набора равны (имеют одинаковое содержимое), они будут иметь одинаковый хэш-код. Обратное неверно: 2 набора с разным содержанием могут иметь одинаковый хэш-код. Также обратите внимание, что, например, для HashSet
хэш-код вычисляется путем перебора всех элементов, поэтому это не бесплатная операция.
person
assylias
schedule
13.11.2012
set1.equals(set2);
возвращает true, если 2 набора содержат одни и те же элементы... - person assylias   schedule 13.11.2012equals
? Или вы говорите о сравнении их для заказа (если да, то объясните, как это должно работать)? - person Thilo   schedule 13.11.2012