在学习Iterable和Iterator的过程中有些无法理解
(1)新建一个泛型类IterableAndIteratorDemo及其main()方法。
(2)新建实现接口实现泛型接口Iterable的泛型类ArrayStack,定义泛型数组arr和表示数组实际元素个数的变量size作为成员,代码如下:
//定义2个成员字段
private T[] arr = (T[]) new Object[100]; //泛型数组
private int size = 0; //计数实际存放的数据个数
(3)定义模拟堆栈操作的push()方法和泛型pop()方法。
(4)新建一个实现泛型接口Iterator的内部类ArrayIterator,定义整型成员变量i并赋值0,实现接口方法hashNext()和next()。
(5)利用内部类,对类ArrayStack实现接口方法iterator()。
(6)在测试类的main()方法里,依次创建ArrayStack对象、给属性数组赋值后,创建迭代器对象并遍历数组。
public interface Iterable<T> {
class ArrayStack<T> {
T[] arr = (T[]) new Object[100];
static int size = 0;
void push(T v) {
arr[size] = v;
size = size + 1;
}
void pop(T v1) {
for (int i = 0; i < 100; i++) {
if (arr[i] == v1) {
arr[i] = null;
}
}
}
}
}
public class IterableAndIteratorDemo {
public static void main(String[] args) {
ArrayStack<Integer> arrayStack = new ArrayStack<>();
arrayStack.push(1);
arrayStack.push(2);
arrayStack.push(3);
}
}
后面三个实在是想不出来
将这六个任务完美写出