三. 总结Test.javapublic class Test {public static void main(String[] args) {CollectionDemo collection = new ArrayListCollection();for(int i=0; i<10; i++){collection.add(i);}System.out.println(collection.size());IteratorDemo iterator = collection.getIterator();while(iterator.hasNext()){System.out.println(iterator.next());}}}依然从测试类开始,这里新建了一个集合,在插入十个值后获取它的长度并遍历。CollectionDemo.javapublic interface CollectionDemo {public void add(Object obj);public void remove(Object obj);public IteratorDemo getIterator();public int size();}这个类是集合类的接口。ArrayListCollection.javapublic class ArrayListCollection implements CollectionDemo {private Object[] objects = new Object[15];int index = 0;@Overridepublic void add(Object obj) {objects[index] = obj;index++;}@Overridepublic void remove(Object obj) {for(int i=0; i< objects.length; i++){if(objects.equals(obj)){objects[i] = null;}}}@Overridepublic int size() {return index;}@Overridepublic IteratorDemo getIterator() {return new ArrayIterator();}private class ArrayIterator implements IteratorDemo{int i=-1;@Overridepublic boolean hasNext() {if(objects[i+1] != null){i++;return true;}return false;}@Overridepublic Object next() {Object result = objects[i];return result;}}}这个类实现了接口,里面有一个内部类,那个内部类就是迭代类。IteratorDemo.javapublic interface IteratorDemo {public boolean hasNext();public Object next();}这个类是迭代类的接口。
联系客服