如果方法返回枚举,您从ArrayList返回什么值?

时间:2016-08-08 14:15:49

标签: java arraylist vector enumeration

所以我目前正在将一些使用Vector的旧代码升级到ArrayList,并且不确定要用什么来替换旧的矢量段。

public Enumeration enumerateMapping() {
    return mappingList.elements();
}

我需要将.elements()替换为ArrayList等效值。如果有人碰巧知道这些翻译的链接,那么这也很有帮助。

1 个答案:

答案 0 :(得分:1)

ArrayList(以及大多数Collection)实施Iterable,因此您应该返回iterator()

public Iterator enumerateMapping() {
    return mappingList.iterator();
}

最好使用泛型类型而不是原始类型,即Iterator<ElementType>

正如Enumeration Javadoc建议的那样,建议使用Iterator代替Enumeration

  

注意:此接口的功能由Iterator接口复制。此外,Iterator添加了一个可选的删除操作,并且具有更短的方法名称。新实现应该考虑使用Iterator而不是Enumeration。