X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=exo2%2FListExtension.java;fp=exo2%2FListExtension.java;h=bba85d2fb1c60307cdf0d25333d18f6de501fb5d;hb=01bad5b37bf95f027f583e1b1da607e074050651;hp=0000000000000000000000000000000000000000;hpb=4845756e424e8a5e3ebc17d089d04dc42a936899;p=Project_POO.git diff --git a/exo2/ListExtension.java b/exo2/ListExtension.java new file mode 100644 index 0000000..bba85d2 --- /dev/null +++ b/exo2/ListExtension.java @@ -0,0 +1,67 @@ +import java.util.List; +import java.util.ListIterator; + +public class ListExtension { + private List list; + + public ListExtension() { + setList(null); + } + + public ListExtension(List l) { + setList(l); + } + + /** + * [setList description] + * @param l [description] + */ + public void setList(List l) { + list = l; + } + + /** + * [getList description] + * @return [description] + */ + public List getList() { + return list; + } + + public boolean add(E e) { + return list.add(e); + } + + /** + * Should mimic the List add(int index, T value) method + * @param value [description] + * @return [description] + */ + public void addMiddleIter(E value) { + int mid = list.size() / 2; + ListIterator iter = list.listIterator(); + int i = 0; + // go to the element at mid index + while (iter.hasNext() && i < mid) { + iter.next(); + i++; + } + iter.next(); // Insert before mid + 1 + iter.add(value); + } + + public void addNEMiddle(int Nelements) { + ListIterator iter = list.listIterator(); + int i = 0; + // go to the element at the middle index + while (iter.hasNext() && i < list.size() / 2) { + iter.next(); + i++; + } + iter.next(); // Insert before mid + 1 + for (int j = 0; j < Nelements; j++) { + iter.add((E)new Object()); + } + } + +}