2012-01-17 2 views
0

У меня есть ArrayList of Sets, я хотел бы найти уникальные множества среди этого ArrayList of Sets.Найти уникальные наборы в ArrayList наборов в Java

Пожалуйста, помогите мне в этом.

+1

@oksayt Хороший вопрос! :-) –

+1

Что у вас три ... о, неважно :) Как вы определяете уникальность множеств? У каждого из них есть уникальное количество элементов или вы считаете, что два набора равны, если они содержат одни и те же объекты? – Paul

+0

Ваш вопрос немного не определен, как я понял, когда я прочитал ответ @ aix. Вы хотите, чтобы все уникальные наборы, как и в каждом наборе, которые появляются в ArrayList, без дубликатов? Ответ aix работает для этого. Или вы хотите, чтобы каждый набор отображался только один раз? Просто проверяйте, так как я чувствую, что, если я могу запутаться в вашем значении, другие потенциальные ответы могут быть не такими, какими вы будете. – blahman

ответ

5

Позвоните нам по телефону ArrayList<Set<T>>al. Вы можете поместить его элементы в Set:

Set<Set<T>> unique = new HashSet<Set<T>>(al); 

Элементы unique даст вам уникальные наборы.

P.S. В приведенном выше примере T - это какой-то тип (вы не сказали нам, что это такое, поэтому я использовал общее имя).

+0

Это даст ему ровно одну отличную копию каждого набора в его списке, другими словами, он отменит его список. Я думаю, он хочет только тех наборов, которые уже уникальны, отбрасывая все экземпляры наборов с дубликатами. – Paul

+0

@Paul: Пока вы не упомянули об этом, ваша интерпретация вопроса мне не пришла в голову. Я буду ждать, пока ОП разъяснит их вопрос. – NPE

Смежные вопросы