2015-04-12 4 views
2

, поэтому мне был предоставлен интерфейс, в котором один метод, который мне нужно реализовать, дает мне коллекцию и хочет, чтобы я «добавил» данные в коллекции к моему объекту. Я все еще не уверен, что такое коллекция. Это список массивов? Я не верю в это, но могу ли я использовать для каждого цикла для каждой части данных в коллекции? Или есть другой способ перебора через сбор, который получает всю ценность.Java, как Итерация через коллекцию <? extends E>?

+3

Коллекция реализует интерфейс «Итератор», не так ли? Не могли бы вы использовать это для ** Итерации ** через? –

+0

«ArrayList» - это [коллекция] (https://docs.oracle.com/javase/tutorial/collections/). Вы должны google "java collections"; Google помогает в таких ситуациях. –

+0

Возможный дубликат [Java: лучший способ итерации по коллекции (здесь ArrayList)] (http://stackoverflow.com/questions/5228687/java-best-way-to-iterate-through-an-collection-here- arraylist) – John

ответ

2

Из документации Collection:

Корневой интерфейс в иерархии семейства. Коллекция представляет собой группу объектов, известных как ее элементы. Некоторые коллекции позволяют дублировать элементы, а другие нет. Некоторые заказываются и другие неупорядоченные.

Вы можете перемещаться по нему с for или for-each петлю или с помощью Iterator.

Наиболее распространенный тип коллекций:

+0

okay спасибо. –

+0

@ Josephhooper Добро пожаловать. –

1

Итерация Collection<? extends E> может быть сделано с Iterator (и вы можете получить один с Collection.iterator() который может итерацияCollection) как

public static <E> void iterateWithIterator(Collection<? extends E> coll) { 
    Iterator<? extends E> iter = coll.iterator(); 
    while (iter.hasNext()) { 
     E item = iter.next(); 
     // do something with the item. 
    } 
} 

или, с Java 5+, с for-each loop как

public static <E> void forEachIterate(Collection<? extends E> coll) { 
    for (E item : coll) { 
     // do something with the item. 
    } 
} 
Смежные вопросы