Упорядочение можно рассматривать как расширенный компаратор с расширенными функциональными возможностями цепочки, множеством служебных методов, возможностью сортировки по нескольким типам и т. Д.
Декларация класса
Ниже приводится объявление для класса com.google.common.collect.Ordering <T>.
@GwtCompatible public abstract class Ordering<T> extends Object implements Comparator<T>
Методы класса
Sr.No | Метод и описание |
---|---|
1 |
статическое упорядочение <Object> allEqual () Возвращает порядок, который обрабатывает все значения как равные, указывая «нет порядка». Передача этого порядка любому устойчивому алгоритму сортировки не приводит к изменению порядка элементов. |
2 |
статический порядок <объект> произвольный () Возвращает произвольный порядок для всех объектов, для которого сравнение (a, b) == 0 подразумевает a == b (равенство тождеств). |
3 |
int binarySearch (список <? extends T> sortedList, ключ T) Ищет в sortedList ключ, используя алгоритм двоичного поиска. |
4 |
абстрактный int сравнить (T слева, T справа) Сравнивает два аргумента для порядка. |
5 |
<U extends T> Упорядочивание <U> соединения (Comparator <? Super U> secondComparator) Возвращает упорядочение, которое сначала использует упорядочение this, но которое в случае «связывания» затем делегируется в secondComparator. |
6 |
статическое <T> упорядочение <T> соединения (итерируемые <? extends Comparator <? super T >> компараторы) Возвращает порядок, при котором каждый данный компаратор пытается по порядку, пока не будет найден ненулевой результат, возвращает этот результат и возвращает ноль только в том случае, если все компараторы возвращают ноль. |
7 |
статическое <T> упорядочение <T> явное (List <T> valuesInOrder) Возвращает порядок, в котором сравниваются объекты в соответствии с порядком их появления в заданном списке. |
8 |
статическое <T> упорядочение <T> явное (TimumValue, T … ОстатокValuesInOrder) Возвращает порядок, который сравнивает объекты в соответствии с порядком, в котором они переданы этому методу. |
9 |
статический <T> порядок <T> из (компаратор <T> компаратор) Возвращает порядок на основе существующего экземпляра компаратора. |
10 |
<E extends T> List <E> greatOf (Iterable <E> iterable, int k) Возвращает k наибольших элементов заданной итерации в соответствии с этим порядком, в порядке от наибольшего к наименьшему. |
11 |
<E extends T> Список <E> greatOf (Итератор <E>, итератор, int k) Возвращает k наибольших элементов из данного итератора в соответствии с этим порядком, от наибольшего к наименьшему. |
12 |
<E extends T> ImmutableList <E> immutableSortedCopy (итерируемые элементы <E>) Возвращает неизменный список, содержащий элементы, отсортированные по этому порядку. |
13 |
логический isOrdered (Iterable <? extends T> итерируемый) Возвращает true, если каждый элемент в итерируемом после первого больше или равен элементу, который предшествовал ему, в соответствии с этим порядком. |
14 |
boolean isStrictlyOrdered (Iterable <? extends T> iterable) Возвращает true, если каждый элемент в итерируемом после первого строго больше, чем элемент, предшествующий ему, согласно этому порядку |
15 |
<E extends T> List <E> lessOf (Iterable <E> iterable, int k) Возвращает k наименьших элементов заданной итерации в соответствии с этим порядком, от наименьшего к наибольшему. |
16 |
<E extends T> List <E> lessOf (элементы Iterator <E>, int k) Возвращает k наименьших элементов из данного итератора в соответствии с этим порядком, от наименьшего к наибольшему. |
17 |
<S extends T> Порядок <Iterable <S >> лексикографический () Возвращает новый порядок, который сортирует итерации, сравнивая соответствующие элементы попарно, пока не будет найден ненулевой результат; навязывает «словарный порядок». |
18 |
<E расширяет T> E max (E a, E b) Возвращает большее из двух значений в соответствии с этим порядком. |
19 |
<E расширяет T> E max (E a, E b, E c, E … покой) Возвращает наибольшее из указанных значений в соответствии с этим порядком. |
20 |
<E расширяет T> E max (итерируемый <E> итерируемый) Возвращает наибольшее из указанных значений в соответствии с этим порядком. |
21 |
<E расширяет T> E max (итератор <E>) Возвращает наибольшее из указанных значений в соответствии с этим порядком. |
22 |
<E удлиняет T> E min (E a, E b) Возвращает меньшее из двух значений в соответствии с этим порядком. |
23 |
<E расширяет T> E min (E a, E b, E c, E … покой) Возвращает наименьшее из указанных значений в соответствии с этим порядком. |
24 |
<E расширяет T> E мин (итерируемый <E> итерируемый) Возвращает наименьшее из указанных значений в соответствии с этим порядком. |
25 |
<E расширяет T> E мин (итератор <E>) Возвращает наименьшее из указанных значений в соответствии с этим порядком. |
26 |
static <C extends Comparable> Упорядочивание <C> natural () Возвращает сериализуемый порядок, который использует естественный порядок значений. |
27 |
<S extends T> Упорядочивание <S> nullsFirst () Возвращает порядок, который обрабатывает нулевое значение как меньшее, чем все другие значения, и использует его для сравнения ненулевых значений. |
28 |
<S extends T> Упорядочивание <S> nullsLast () Возвращает порядок, который обрабатывает нуль как большее, чем все другие значения, и использует этот порядок для сравнения ненулевых значений. |
29 |
<F> Упорядочивание <F> onResultOf (функция <F ,? extends T>) Возвращает новый порядок на F, который упорядочивает элементы, сначала применяя к ним функцию, а затем сравнивая эти результаты, используя это. |
30 |
<S extends T> Упорядочивание <S> reverse () Возвращает реверс этого порядка; Порядок, эквивалентный Collections.reverseOrder (Comparator). |
31 |
<E extends T> List <E> sortedCopy (итерируемые элементы <E>) Возвращает изменяемый список, содержащий элементы, отсортированные по этому порядку; используйте это только тогда, когда результирующий список может нуждаться в дальнейшей модификации или может содержать ноль. |
32 |
статическое упорядочение <Object> usingToString () Возвращает упорядочение, которое сравнивает объекты по естественному упорядочению их строковых представлений, как возвращено toString (). |
статическое упорядочение <Object> allEqual ()
Возвращает порядок, который обрабатывает все значения как равные, указывая «нет порядка». Передача этого порядка любому устойчивому алгоритму сортировки не приводит к изменению порядка элементов.
статический порядок <объект> произвольный ()
Возвращает произвольный порядок для всех объектов, для которого сравнение (a, b) == 0 подразумевает a == b (равенство тождеств).
int binarySearch (список <? extends T> sortedList, ключ T)
Ищет в sortedList ключ, используя алгоритм двоичного поиска.
абстрактный int сравнить (T слева, T справа)
Сравнивает два аргумента для порядка.
<U extends T> Упорядочивание <U> соединения (Comparator <? Super U> secondComparator)
Возвращает упорядочение, которое сначала использует упорядочение this, но которое в случае «связывания» затем делегируется в secondComparator.
статическое <T> упорядочение <T> соединения (итерируемые <? extends Comparator <? super T >> компараторы)
Возвращает порядок, при котором каждый данный компаратор пытается по порядку, пока не будет найден ненулевой результат, возвращает этот результат и возвращает ноль только в том случае, если все компараторы возвращают ноль.
статическое <T> упорядочение <T> явное (List <T> valuesInOrder)
Возвращает порядок, в котором сравниваются объекты в соответствии с порядком их появления в заданном списке.
статическое <T> упорядочение <T> явное (TimumValue, T … ОстатокValuesInOrder)
Возвращает порядок, который сравнивает объекты в соответствии с порядком, в котором они переданы этому методу.
статический <T> порядок <T> из (компаратор <T> компаратор)
Возвращает порядок на основе существующего экземпляра компаратора.
<E extends T> List <E> greatOf (Iterable <E> iterable, int k)
Возвращает k наибольших элементов заданной итерации в соответствии с этим порядком, в порядке от наибольшего к наименьшему.
<E extends T> Список <E> greatOf (Итератор <E>, итератор, int k)
Возвращает k наибольших элементов из данного итератора в соответствии с этим порядком, от наибольшего к наименьшему.
<E extends T> ImmutableList <E> immutableSortedCopy (итерируемые элементы <E>)
Возвращает неизменный список, содержащий элементы, отсортированные по этому порядку.
логический isOrdered (Iterable <? extends T> итерируемый)
Возвращает true, если каждый элемент в итерируемом после первого больше или равен элементу, который предшествовал ему, в соответствии с этим порядком.
boolean isStrictlyOrdered (Iterable <? extends T> iterable)
Возвращает true, если каждый элемент в итерируемом после первого строго больше, чем элемент, предшествующий ему, согласно этому порядку
<E extends T> List <E> lessOf (Iterable <E> iterable, int k)
Возвращает k наименьших элементов заданной итерации в соответствии с этим порядком, от наименьшего к наибольшему.
<E extends T> List <E> lessOf (элементы Iterator <E>, int k)
Возвращает k наименьших элементов из данного итератора в соответствии с этим порядком, от наименьшего к наибольшему.
<S extends T> Порядок <Iterable <S >> лексикографический ()
Возвращает новый порядок, который сортирует итерации, сравнивая соответствующие элементы попарно, пока не будет найден ненулевой результат; навязывает «словарный порядок».
<E расширяет T> E max (E a, E b)
Возвращает большее из двух значений в соответствии с этим порядком.
<E расширяет T> E max (E a, E b, E c, E … покой)
Возвращает наибольшее из указанных значений в соответствии с этим порядком.
<E расширяет T> E max (итерируемый <E> итерируемый)
Возвращает наибольшее из указанных значений в соответствии с этим порядком.
<E расширяет T> E max (итератор <E>)
Возвращает наибольшее из указанных значений в соответствии с этим порядком.
<E удлиняет T> E min (E a, E b)
Возвращает меньшее из двух значений в соответствии с этим порядком.
<E расширяет T> E min (E a, E b, E c, E … покой)
Возвращает наименьшее из указанных значений в соответствии с этим порядком.
<E расширяет T> E мин (итерируемый <E> итерируемый)
Возвращает наименьшее из указанных значений в соответствии с этим порядком.
<E расширяет T> E мин (итератор <E>)
Возвращает наименьшее из указанных значений в соответствии с этим порядком.
static <C extends Comparable> Упорядочивание <C> natural ()
Возвращает сериализуемый порядок, который использует естественный порядок значений.
<S extends T> Упорядочивание <S> nullsFirst ()
Возвращает порядок, который обрабатывает нулевое значение как меньшее, чем все другие значения, и использует его для сравнения ненулевых значений.
<S extends T> Упорядочивание <S> nullsLast ()
Возвращает порядок, который обрабатывает нуль как большее, чем все другие значения, и использует этот порядок для сравнения ненулевых значений.
<F> Упорядочивание <F> onResultOf (функция <F ,? extends T>)
Возвращает новый порядок на F, который упорядочивает элементы, сначала применяя к ним функцию, а затем сравнивая эти результаты, используя это.
<S extends T> Упорядочивание <S> reverse ()
Возвращает реверс этого порядка; Порядок, эквивалентный Collections.reverseOrder (Comparator).
<E extends T> List <E> sortedCopy (итерируемые элементы <E>)
Возвращает изменяемый список, содержащий элементы, отсортированные по этому порядку; используйте это только тогда, когда результирующий список может нуждаться в дальнейшей модификации или может содержать ноль.
статическое упорядочение <Object> usingToString ()
Возвращает упорядочение, которое сравнивает объекты по естественному упорядочению их строковых представлений, как возвращено toString ().
Унаследованные методы
Этот класс наследует методы из следующего класса —
- java.lang.Object
Пример класса заказа
Создайте следующую Java-программу, используя любой редактор по вашему выбору, скажем, C: /> Guava.
GuavaTester.java
import java.util.ArrayList; import java.util.Collections; import java.util.List; import com.google.common.collect.Ordering; public class GuavaTester { public static void main(String args[]) { List<Integer> numbers = new ArrayList<Integer>(); numbers.add(new Integer(5)); numbers.add(new Integer(2)); numbers.add(new Integer(15)); numbers.add(new Integer(51)); numbers.add(new Integer(53)); numbers.add(new Integer(35)); numbers.add(new Integer(45)); numbers.add(new Integer(32)); numbers.add(new Integer(43)); numbers.add(new Integer(16)); Ordering ordering = Ordering.natural(); System.out.println("Input List: "); System.out.println(numbers); Collections.sort(numbers,ordering ); System.out.println("Sorted List: "); System.out.println(numbers); System.out.println("======================"); System.out.println("List is sorted: " + ordering.isOrdered(numbers)); System.out.println("Minimum: " + ordering.min(numbers)); System.out.println("Maximum: " + ordering.max(numbers)); Collections.sort(numbers,ordering.reverse()); System.out.println("Reverse: " + numbers); numbers.add(null); System.out.println("Null added to Sorted List: "); System.out.println(numbers); Collections.sort(numbers,ordering.nullsFirst()); System.out.println("Null first Sorted List: "); System.out.println(numbers); System.out.println("======================"); List<String> names = new ArrayList<String>(); names.add("Ram"); names.add("Shyam"); names.add("Mohan"); names.add("Sohan"); names.add("Ramesh"); names.add("Suresh"); names.add("Naresh"); names.add("Mahesh"); names.add(null); names.add("Vikas"); names.add("Deepak"); System.out.println("Another List: "); System.out.println(names); Collections.sort(names,ordering.nullsFirst().reverse()); System.out.println("Null first then reverse sorted list: "); System.out.println(names); } }
Проверьте результат
Скомпилируйте класс с помощью компилятора javac следующим образом:
C:\Guava>javac GuavaTester.java
Теперь запустите GuavaTester, чтобы увидеть результат.
C:\Guava>java GuavaTester
Смотрите результат.