下面是一个示例代码,其中遍历一个 Iterable
对象,并在自定义数据类型中填充一个 Vector
:
import java.util.Vector;
public class Main {
public static void main(String[] args) {
// 创建一个Iterable对象
Iterable iterable = new Iterable() {
@Override
public java.util.Iterator iterator() {
return new java.util.Iterator() {
private int currentIndex = 0;
private String[] elements = {"A", "B", "C", "D"};
@Override
public boolean hasNext() {
return currentIndex < elements.length;
}
@Override
public String next() {
return elements[currentIndex++];
}
};
}
};
// 创建一个自定义数据类型
class MyDataType {
private String value;
public MyDataType(String value) {
this.value = value;
}
public String getValue() {
return value;
}
}
// 遍历Iterable对象并填充Vector
Vector vector = new Vector<>();
for (String element : iterable) {
MyDataType data = new MyDataType(element);
vector.add(data);
}
// 打印Vector中的数据
for (MyDataType data : vector) {
System.out.println(data.getValue());
}
}
}
在这个示例中,我们创建了一个实现了 Iterable
接口的匿名内部类对象,该对象包含一个自定义的迭代器实现。迭代器返回一个包含字符串元素的数组,并通过 hasNext()
和 next()
方法实现迭代。
然后,我们定义了一个名为 MyDataType
的自定义数据类型,它包含一个 value
属性和一个返回 value
的 getValue()
方法。
在主函数中,我们创建了一个 Vector
对象,并使用 for-each
循环遍历 iterable
对象。在每次循环中,我们创建一个新的 MyDataType
对象,并将其添加到 Vector
中。
最后,我们使用另一个 for-each
循环打印 Vector
中的数据。