Java,如何遍历集合<?延伸 E>?
Java, How Iterate through Collection<? extends E>?
所以我得到了一个接口,其中我需要实现的一个方法为我提供了一个集合,并希望我将集合中的数据 "addAll" 到我的对象。我仍然不确定集合到底是什么。它是一个数组列表吗?我不相信它是,但我可以为集合中的每条数据使用 for each 循环吗?或者是否有另一种方法来遍历收集访问所有的值。
来自 Collection
的文档:
The root interface in the collection hierarchy. A collection
represents a group of objects, known as its elements. Some collections
allow duplicate elements and others do not. Some are ordered and
others unordered.
您可以使用 for
或 for-each
循环或使用 Iterator
.
对其进行迭代
最常见的 collections 类型是:
迭代 Collection<? extends E>
可以用 Iterator
(and you can get one with 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.
}
}
所以我得到了一个接口,其中我需要实现的一个方法为我提供了一个集合,并希望我将集合中的数据 "addAll" 到我的对象。我仍然不确定集合到底是什么。它是一个数组列表吗?我不相信它是,但我可以为集合中的每条数据使用 for each 循环吗?或者是否有另一种方法来遍历收集访问所有的值。
来自 Collection
的文档:
The root interface in the collection hierarchy. A collection represents a group of objects, known as its elements. Some collections allow duplicate elements and others do not. Some are ordered and others unordered.
您可以使用 for
或 for-each
循环或使用 Iterator
.
最常见的 collections 类型是:
迭代 Collection<? extends E>
可以用 Iterator
(and you can get one with 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.
}
}