exo2: simplify iterator loops.
authorJérôme Benoit <jerome.benoit@piment-noir.org>
Thu, 5 Apr 2018 12:32:56 +0000 (14:32 +0200)
committerJérôme Benoit <jerome.benoit@piment-noir.org>
Thu, 5 Apr 2018 12:32:56 +0000 (14:32 +0200)
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
exo2/ListExtension.java

index bba85d2fb1c60307cdf0d25333d18f6de501fb5d..3ba71ac607d993661cb26597093ae35c668ce024 100644 (file)
@@ -41,24 +41,22 @@ public class ListExtension<E> {
         int mid = list.size() / 2;
         ListIterator<E> iter = list.listIterator();
         int i = 0;
-        // go to the element at mid index
-        while (iter.hasNext() && i < mid) {
+        // go to the element at mid + 1 index
+        while (iter.hasNext() && i <= mid) {
             iter.next();
             i++;
         }
-        iter.next(); // Insert before mid + 1
         iter.add(value);
     }
 
     public void addNEMiddle(int Nelements) {
         ListIterator<E> iter = list.listIterator();
         int i = 0;
-        // go to the element at the middle index
-        while (iter.hasNext() && i < list.size() / 2) {
+        // go to the element at the middle + 1 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());
         }