diff --git a/list/src/main/java/de/vivi/list/list/ArrayByteList.java b/list/src/main/java/de/vivi/list/list/ArrayByteList.java index 35b5d08..7e4b371 100644 --- a/list/src/main/java/de/vivi/list/list/ArrayByteList.java +++ b/list/src/main/java/de/vivi/list/list/ArrayByteList.java @@ -1,6 +1,7 @@ package de.vivi.list.list; import java.util.Arrays; +import java.util.Iterator; public class ArrayByteList implements ByteList { @@ -51,6 +52,11 @@ public class ArrayByteList implements ByteList { return values.length; } + @Override + public Iterator iterator() { + return new ByteListIterator(this); + } + @Override public String toString() { return Arrays.toString(values); diff --git a/list/src/main/java/de/vivi/list/list/ByteList.java b/list/src/main/java/de/vivi/list/list/ByteList.java index 5d22b3c..57eba75 100644 --- a/list/src/main/java/de/vivi/list/list/ByteList.java +++ b/list/src/main/java/de/vivi/list/list/ByteList.java @@ -1,6 +1,6 @@ package de.vivi.list.list; -public interface ByteList { +public interface ByteList extends Iterable { void add(byte value); diff --git a/list/src/main/java/de/vivi/list/list/ByteListIterator.java b/list/src/main/java/de/vivi/list/list/ByteListIterator.java new file mode 100644 index 0000000..bf35cdc --- /dev/null +++ b/list/src/main/java/de/vivi/list/list/ByteListIterator.java @@ -0,0 +1,25 @@ +package de.vivi.list.list; + +import java.util.Iterator; + +public class ByteListIterator implements Iterator { + + private int index; + + private final ByteList list; + + public ByteListIterator(ByteList list) { + this.index = 0; + this.list = list; + } + + @Override + public boolean hasNext() { + return index < list.size(); + } + + @Override + public Byte next() { + return list.get(index++); + } +} diff --git a/list/src/main/java/de/vivi/list/list/LinkedByteList.java b/list/src/main/java/de/vivi/list/list/LinkedByteList.java index 383a1d6..733fe01 100644 --- a/list/src/main/java/de/vivi/list/list/LinkedByteList.java +++ b/list/src/main/java/de/vivi/list/list/LinkedByteList.java @@ -1,5 +1,7 @@ package de.vivi.list.list; +import java.util.Iterator; + public class LinkedByteList implements ByteList { private static class Entry { @@ -117,6 +119,11 @@ public class LinkedByteList implements ByteList { return size; } + @Override + public Iterator iterator() { + return new ByteListIterator(this); + } + @Override public String toString() { StringBuilder result = new StringBuilder("[");