//: arrays/ArraySearching.java // Using Arrays.binarySearch(). import java.util.*; import net.mindview.util.*; import static net.mindview.util.Print.*; public class ArraySearching { public static void main(String[] args) { Generator gen = new RandomGenerator.Integer(1000); int[] a = ConvertTo.primitive( Generated.array(new Integer[25], gen)); Arrays.sort(a); print("Sorted array: " + Arrays.toString(a)); while(true) { int r = gen.next(); int location = Arrays.binarySearch(a, r); if(location >= 0) { print("Location of " + r + " is " + location + ", a[" + location + "] = " + a[location]); break; // Out of while loop } } } } /* Output: Sorted array: [128, 140, 200, 207, 258, 258, 278, 288, 322, 429, 511, 520, 522, 551, 555, 589, 693, 704, 809, 861, 861, 868, 916, 961, 998] Location of 322 is 8, a[8] = 322 *///:~