Kth Largest Element in an Array

Using a heap.

private static final Comparator<Integer> valueComparator = new Comparator<Integer>() {
    @Override
    public int compare(Integer i, Integer j) {
        return j - i;
    }
};

public int findKthLargest(int[] nums, int k) {
    Queue<Integer> queue = new PriorityQueue<Integer>(nums.length, valueComparator);
    for (int i : nums) {
        queue.add(i);
    }

    for (int i = 0; i <= nums.length; i++) {
        if (i == (k-1)) {
            return queue.remove();
        } else {
            queue.remove();
        }
    }
    return -1;
}