Учебники

Гуава — Класс заказа

Упорядочение можно рассматривать как расширенный компаратор с расширенными функциональными возможностями цепочки, множеством служебных методов, возможностью сортировки по нескольким типам и т. Д.

Декларация класса

Ниже приводится объявление для класса 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

Смотрите результат.