java - 迭代器不工作
问题描述
我试图为我的程序编写一个迭代器,但它似乎没有按应有的方式进行迭代。我试图从网上学习一个例子,但仍然如此。
public Iterator<ParkingPlace> iterator(){
Iterator<ParkingPlace> iterator = new Iterator<ParkingPlace>() {
int currentIndex =0;
@Override
public boolean hasNext() {
return currentIndex<parking.size() && parking.get(currentIndex)!=null;
}
@Override
public Parking next() {
if(!hasNext()){
throw new NoSuchElementException();
}else if (hasNext()){
return parking.get(currentIndex++);
}
return null;
}
};
return iterator;
}
其中停车是定义为的“停车位”列表
列表 <停车位> 停车 = 新 ArrayList();
所以,我定义停车的最后一部分是正确的,我已经检查过它并且它具有所有预期的元素。
但是我的迭代器并没有给我我对他的期望。
我的主要功能:
public static void main(String[] args) {
Parking parking = new Parking();
//Tests for iterator
for (ParkingPlace place : parking) {
System.out.println(parking.iterator());
}
}
前任。结果:
停车$1@61bbe9ba
停车$1@610455d6
停车$1@511d50c0
预期结果为:
A0
A1
A2
想法我的错误可能在哪里?
解决方案
在 Parking 类上实现 toString() 方法以打印您想要的格式化结果。
推荐阅读
- azure-virtual-network - 为什么 azure 中自动创建了网络安全组而没有绑定子网?
- python - DjangoRestFramework 再次下载最新的 Django
- php - 如何将具有相同组 IS 作为外键的行分组?
- javascript - express.static(path.join()) 不工作
- php - PHP:每5个单词后将单词从数组添加到字符串
- amazon-web-services - aws cli 可以列出没有给定服务描述的可用命令吗?
- javascript - 在 Ant Design pro 表中动态更改按钮颜色
- reactjs - 如何在 React 组件中使用多个传播道具?
- excel - 从另一个工作簿 VBA 导入数据
- java - 使用 KeyListener 从键盘单击 JButton