Java Collection How to - Binary Search element in a list








Question

We would like to know how to binary Search element in a list.

Answer

/*  w w  w  .jav  a2  s.c om*/
import java.text.DateFormatSymbols;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;

public class Main {
  public static void main(String[] args) {
    List<String> list = new LinkedList<String>();

    list.add("a");
    list.add("b");
    list.add("c");
    list.add("d");
    list.add("e");
    list.add("f");
    
    
    Collections.sort(list);
    System.out.println(list);
    int index = Collections.binarySearch(list, "c");
    if (index > 0) {
      System.out.println("Found at index = " + index);
      String month = (String) list.get(index);
      System.out.println(month);
    }
  }
}

The code above generates the following result.