Example usage for org.apache.lucene.util IntroSorter IntroSorter

List of usage examples for org.apache.lucene.util IntroSorter IntroSorter

Introduction

In this page you can find the example usage for org.apache.lucene.util IntroSorter IntroSorter.

Prototype

public IntroSorter() 

Source Link

Document

Create a new IntroSorter .

Usage

From source file:org.codelibs.elasticsearch.common.util.CollectionUtils.java

License:Apache License

public static void sort(final long[] array, int len) {
    new IntroSorter() {

        long pivot;

        @Override//  w w  w  . j a va2  s  . c  om
        protected void swap(int i, int j) {
            final long tmp = array[i];
            array[i] = array[j];
            array[j] = tmp;
        }

        @Override
        protected int compare(int i, int j) {
            return Long.compare(array[i], array[j]);
        }

        @Override
        protected void setPivot(int i) {
            pivot = array[i];
        }

        @Override
        protected int comparePivot(int j) {
            return Long.compare(pivot, array[j]);
        }

    }.sort(0, len);
}

From source file:org.codelibs.elasticsearch.common.util.CollectionUtils.java

License:Apache License

public static void sort(final float[] array, int len) {
    new IntroSorter() {

        float pivot;

        @Override//  w w  w .  j  av a 2s  .  com
        protected void swap(int i, int j) {
            final float tmp = array[i];
            array[i] = array[j];
            array[j] = tmp;
        }

        @Override
        protected int compare(int i, int j) {
            return Float.compare(array[i], array[j]);
        }

        @Override
        protected void setPivot(int i) {
            pivot = array[i];
        }

        @Override
        protected int comparePivot(int j) {
            return Float.compare(pivot, array[j]);
        }

    }.sort(0, len);
}

From source file:org.codelibs.elasticsearch.common.util.CollectionUtils.java

License:Apache License

public static void sort(final double[] array, int len) {
    new IntroSorter() {

        double pivot;

        @Override/*from  www .  jav a  2  s  .  c  om*/
        protected void swap(int i, int j) {
            final double tmp = array[i];
            array[i] = array[j];
            array[j] = tmp;
        }

        @Override
        protected int compare(int i, int j) {
            return Double.compare(array[i], array[j]);
        }

        @Override
        protected void setPivot(int i) {
            pivot = array[i];
        }

        @Override
        protected int comparePivot(int j) {
            return Double.compare(pivot, array[j]);
        }

    }.sort(0, len);
}

From source file:org.codelibs.elasticsearch.common.util.CollectionUtils.java

License:Apache License

public static void sort(final ObjectArrayList<byte[]> array) {
    new IntroSorter() {

        byte[] pivot;

        @Override// w ww.  j  av  a  2s .com
        protected void swap(int i, int j) {
            final byte[] tmp = array.get(i);
            array.set(i, array.get(j));
            array.set(j, tmp);
        }

        @Override
        protected int compare(int i, int j) {
            return compare(array.get(i), array.get(j));
        }

        @Override
        protected void setPivot(int i) {
            pivot = array.get(i);
        }

        @Override
        protected int comparePivot(int j) {
            return compare(pivot, array.get(j));
        }

        private int compare(byte[] left, byte[] right) {
            for (int i = 0, j = 0; i < left.length && j < right.length; i++, j++) {
                int a = left[i] & 0xFF;
                int b = right[j] & 0xFF;
                if (a != b) {
                    return a - b;
                }
            }
            return left.length - right.length;
        }

    }.sort(0, array.size());
}

From source file:org.elasticsearch.common.util.CollectionUtils.java

License:Apache License

public static void sort(final long[] array, int len) {
    new IntroSorter() {

        long pivot;

        @Override/* w  w w.j  a v  a 2  s . c  o  m*/
        protected void swap(int i, int j) {
            final long tmp = array[i];
            array[i] = array[j];
            array[j] = tmp;
        }

        @Override
        protected int compare(int i, int j) {
            return Longs.compare(array[i], array[j]);
        }

        @Override
        protected void setPivot(int i) {
            pivot = array[i];
        }

        @Override
        protected int comparePivot(int j) {
            return Longs.compare(pivot, array[j]);
        }

    }.sort(0, len);
}