2010-11-29 3 views
2

У меня есть метод, который возвращает наборы множеств. Ниже то, что я имею в виду:Справочник по программированию на Java

public static HashSet methodName(){ 
HashSet c= new HashSet(); 

c.add(x); //x is a HashSet of number 
c.add(y); //y is a Hashset of numbers 

return c; 
} 

После того, как метод возвращает коллекцию, я ввожу его в ArrayList

ArrayList<HashSet> xxx= new ArrayList<Hashset>(); 
y=methodName(); 
xxx.add(y); 

метод вызывается несколько раз, и каждый раз, когда я вхожу наборы множеств в арраист.

Мой вопрос есть. теперь я хочу пройти через arraylist и найти набор, содержащий наименьшее количество множеств. Как мне это сделать? Большое спасибо заранее. Любая помощь будет оценена.

ответ

0

Простой способ пройти через массив через Iterator. Они используются в цикле foreach, который может использоваться, когда вы знаете тип элементов, используемых в массиве (через generics). Вы можете использовать это в вашем внешнем HashSet - содержащие ArrayList:

for (HashSet set : xxx) { 
    // you need to iterate over the elements in your HashSet here and determine which internal Set has the most elements 
    for (Iterator iter = set.iterator(); iter.hasNext();) { 
     HashSet innerSet = (HashSet) iter.next(); 
     // do the size test 
    } 

} 
+0

не могли бы вы показать мне весь код. Как бы вы сравнили размер – sap 2010-11-29 04:05:44

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