public class ArrayList extends AbstractListimplements List, RandomAccess, Cloneable, java.io.Serializable public class LinkedListextends AbstractSequentialListimplements List, Deque, Cloneable, java.io.Serializable
private static int indexedBinarySearch(List extends Comparable super T>> list, T key) {int low = 0;int high = list.size()-1;
while (low <&#61; high) {int mid &#61; (low &#43; high) >>> 1;Comparable super T> midVal &#61; list.get(mid);int cmp &#61; midVal.compareTo(key);if (cmp <0)low &#61; mid &#43; 1;else if (cmp > 0)high &#61; mid - 1;elsereturn mid; // key found } return -(low &#43; 1); // key not found
} private static int iteratorBinarySearch(List extends Comparable super T>> list, T key) { int low &#61; 0; int high &#61; list.size()-1; ListIterator extends Comparable super T>> i &#61; list.listIterator();
while (low <&#61; high) {int mid &#61; (low &#43; high) >>> 1;Comparable super T> midVal &#61; get(i, mid);int cmp &#61; midVal.compareTo(key);if (cmp <0)low &#61; mid &#43; 1;else if (cmp > 0)high &#61; mid - 1;elsereturn mid; // key found } return -(low &#43; 1); // key not found