Implemented iterator

This commit is contained in:
Paul H 2025-03-25 20:49:46 +01:00
parent 0eb671dddf
commit 2c88f9596a
4 changed files with 39 additions and 1 deletions

View File

@ -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<Byte> iterator() {
return new ByteListIterator(this);
}
@Override
public String toString() {
return Arrays.toString(values);

View File

@ -1,6 +1,6 @@
package de.vivi.list.list;
public interface ByteList {
public interface ByteList extends Iterable<Byte> {
void add(byte value);

View File

@ -0,0 +1,25 @@
package de.vivi.list.list;
import java.util.Iterator;
public class ByteListIterator implements Iterator<Byte> {
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++);
}
}

View File

@ -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<Byte> iterator() {
return new ByteListIterator(this);
}
@Override
public String toString() {
StringBuilder result = new StringBuilder("[");