Java如何在向量上執行二分法查詢?

2019-10-16 22:29:13

在Java程式設計中,如何在向量上執行二分法查詢?

以下是使用Vector類的v.add()方法和Collection類的sort.Collection()方法對向量執行二分法搜尋查詢的一個範例。參考以下範例程式碼 -

package com.yiibai;

import java.util.Collections;
import java.util.Vector;

public class VectorBinary {
    public static void main(String[] args) {
        Vector<String> v = new Vector<String>();
        v.add("Y");
        v.add("I");
        v.add("I");
        v.add("B");
        v.add("A");
        v.add("I");
        Collections.sort(v);
        System.out.println(v);
        int index = Collections.binarySearch(v, "I");
        System.out.println("Element found at : " + index);
    }
}

上述程式碼範例將產生以下結果 -

[A, B, I, I, I, Y]
Element found at : 2

範例-2

以下是使用Vector類的v.add()方法和Collection類的sort.Collection()方法對向量執行二分法搜尋查詢的另一個範例。參考以下範例程式碼 -

package com.yiibai;

import java.util.Vector;
import java.util.Collections;

public class VectorBinary2 {
    public static void main(String[] args) {
        Vector vec = new Vector();
        vec.add("Y");
        vec.add("I");
        vec.add("I");
        vec.add("B");
        vec.add("A");
        vec.add("I");

        Collections.sort(vec);
        System.out.println("Sorted Vector: " + vec);
        int found = Collections.binarySearch(vec, "I");
        System.out.println("Element found at : " + found);
    }
}

上述程式碼範例將產生以下結果 -

Sorted Vector: [A, B, I, I, I, Y]
Element found at : 2