Java,如何通过集合迭代<! - ?延伸E - >?

时间:2015-04-12 02:25:31

标签: java collections iteration abstract-data-type

所以给了我一个接口,我需要实现的一个方法给我一个Collection,并希望我&#34; addAll&#34;集合中的数据到我的对象。我还不确定收藏品是什么。它是一个数组列表吗?我不相信它,但是我可以为集合中的每个数据使用a循环吗?或者是否有另一种方法来迭代访问所有值的集合。

2 个答案:

答案 0 :(得分:2)

来自Collection的文档:

  

集合层次结构中的根接口。一个集合   表示一组对象,称为其元素。一些收藏品   允许重复元素而其他元素则不允许。有些是订购的   其他人无序。

您可以使用forfor-each循环或使用Iterator对其进行迭代。

最常见的收藏类型是:

答案 1 :(得分:1)

可以使用IteratorCollection<? extends E>进行迭代(您可以使用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.
    }
}