поэтому мне был предоставлен интерфейс, в котором один метод, который мне нужно реализовать, дает мне коллекцию и хочет, чтобы я «добавить все» данные в коллекции к моему объекту. Я до сих пор не уверен, что такое коллекция. Это список массивов? Я так не думаю, но могу ли я использовать цикл for each для каждой части данных в коллекции? Или есть другой способ выполнить итерацию сбора, чтобы получить доступ ко всем значениям.
Java, как перебирать коллекцию‹? расширяет E›?
Ответы (2)
Из документации Collection
:
Корневой интерфейс в иерархии коллекций. Коллекция представляет собой группу объектов, называемых ее элементами. Некоторые коллекции позволяют дублировать элементы, а другие нет. Некоторые упорядочены, а другие неупорядочены.
Вы можете перебрать его с помощью цикла for
или for-each
или с помощью Iterator
.
Наиболее распространены следующие типы коллекций:
person
Jean-François Savard
schedule
12.04.2015
Повторение 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
а> нравится
public static <E> void forEachIterate(Collection<? extends E> coll) {
for (E item : coll) {
// do something with the item.
}
}
person
Elliott Frisch
schedule
12.04.2015
По какой-то причине в моем случае я получаю ошибку компиляции: ошибка: несовместимые типы: класс‹? расширяет E›, не может быть преобразован в E. Есть мысли? Андроид/Ява-7
- person TahoeWolverine; 06.06.2018
ПЭКС. Производитель расширяется, потребитель супер. Там, где вы потребляете коллекцию, она, вероятно, должна быть
Collection<? super E> coll
- person Elliott Frisch; 06.06.2018
Iterator
, не так ли? Не могли бы вы использовать это для итерации? - person SteveK   schedule 12.04.2015ArrayList
– это коллекция. Вам следует гуглить java-коллекции; гугл помогает в таких случаях. - person Dioxin   schedule 12.04.2015interface Collection extends Iterable
, но тем более да, что ты говоришь. ; ) - person Radiodef   schedule 12.04.2015