- private static <E> void addMiddle(ArrayList<E> array, E value) {
- int mid = array.size() / 2;
- array.add(mid + 1, value);
- }
-
- private static <E> void addMiddle(LinkedList<E> list, E value) {
- int mid = list.size() / 2;
- list.add(mid + 1, value);
- }
-
- /**
- * Should mimic the collection add(int index, T value) method
- * @param array [description]
- * @param value [description]
- * @return [description]
- */
- private static <E> void addMiddleIter(ArrayList<E> array, E value) {
- int mid = array.size() / 2;
- ListIterator<E> iter = array.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);
-
- }
-
- /**
- * Should mimic the collection add(int index, T value) method
- * @param list [description]
- * @param value [description]
- * @return [description]
- */
- private static <E> void addMiddleIter(LinkedList<E> list, E value) {
- 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) {
- iter.next();
- i++;
- }
- iter.next(); // Insert before mid + 1
- iter.add(value);
- }
-
- private static <E> void addNEMiddle(ArrayList<E> array, int Nelements) {
- ListIterator<E> iter = array.listIterator();
- int i = 0;
- // go to the element at the middle index
- while (iter.hasNext() && i < array.size() / 2) {
- iter.next();
- i++;
- }
- iter.next(); // Insert before mid + 1
- for (int j = 0; j < Nelements; j++) {
- iter.add((E)new Object());
- }
- }
-
- private static <E> void addNEMiddle(LinkedList<E> list, 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) {
- iter.next();
- i++;
- }
- iter.next(); // Insert before mid + 1
- for (int j = 0; j < Nelements; j++) {
- iter.add((E)new Object());
- }
- }
-