java - 我可以继承 "standard"arraylist 迭代器吗?

标签 java arraylist iterator subclass

我需要迭代 ArrayList 的所有元素,除了最后一个。所以我想创建这样的迭代器。但是我不知道要实现整个迭代器,我只需要重写 hasNext() 方法,所以我想子类化一个“标准”迭代器。有什么办法吗?

最佳答案

我认为比覆盖默认迭代器更好的方法是自行迭代 ArrayListArrayList 定义了几个可以帮助您完成任务的方法:get(int)size()
您要做的就是获取 ArrayList 中的元素总数(使用 size()),然后遍历元素,在每次迭代中直接访问每个元素,使用get() 方法。您的代码看起来像这样:

    for(int i = 0; i < myList.size() - 1; i++){
       element = myList.get(i);
       //do something
    }

现在记住这个原则,您可以创建自己的类来迭代 ArrayList

关于java - 我可以继承 "standard"arraylist 迭代器吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15999765/

相关文章:

java - 在应用程序服务器中的何处添加 JDBC 驱动程序?

c++ - 取消引用的列表迭代器段错误

java - 带有 MockMvcBuilders 的 SpringBootTest 独立设置没有加载我的 ControllerAdvice 尽管设置了它

java - 创建数组对象和用花括号分配数组有什么区别?

java - 在android中不使用onclicklistener访问 ListView 项目

java - 如何将单个 ArrayList<CustomObj> 元素传递给另一个 Activity

java - 在java中通过网络发送列表

Java - 有一个巨大的 ArrayList(超过 100 万),如何在可接受的时间内创建它的 String?

c++ - 比较两个字符串迭代器总是得出正确的 C++

iterator - 我该如何编写一个迭代器来返回对自身的引用?