Java 示例 - 向量二分查找

  • 问题描述

    如何对向量执行二分查找?
  • 解决方案

    以下示例如何借助 Vector 类的 v.add() 方法和 Collection 类的 sort.Collection() 方法对向量执行二分搜索。
    
    import java.util.Collections;
    import java.util.Vector;
    public class Main {
       public static void main(String[] args) {
          Vector<String> v = new Vector<String>();
          v.add("X");
          v.add("M");
          v.add("D");
          v.add("A");
          v.add("O");
          Collections.sort(v);
          System.out.println(v);
          int index = Collections.binarySearch(v, "D");
          System.out.println("Element found at : " + index);
       }
    }
    
  • 结果

    上面的代码示例将产生以下结果。
    
    [A, D, M, O, X]
    Element found at : 1
    
    下面是另一个借助 Vector 类的 v.add() 方法和 Collection 类的 sort.Collection() 方法对向量执行二分查找的示例。
    
    import java.util.Vector;
    import java.util.Collections;
    public class Demo {
       public static void main(String[] args) {
          Vector vec = new Vector();
          vec.add("X");
          vec.add("M");
          vec.add("D");
          vec.add("A");
          vec.add("O");
          
          Collections.sort(vec);
          System.out.println("Sorted Vector: " + vec);
          int found = Collections.binarySearch(vec, "D");
          System.out.println("Element found at : " + found);
       }
    }
    
    上面的代码示例将产生以下结果。
    
    Sorted Vector: [A, D, M, O, X]
    Element found at : 1