Класс заказа | Гуава | Ява
Компаратор с дополнительными методами для поддержки общих операций. Это «обогащенная» версия Comparator. Распространенные способы получить экземпляр Ordering:
- Подклассифицируйте его и реализуйте compare (T, T) вместо непосредственной реализации Comparator.
- Передайте уже существующий экземпляр Comparator в from (Comparator).
- Используйте естественный порядок, natural ().
Объявление: объявление класса com.google.common.collect.Ordering < T >:
@GwtCompatible публичный абстрактный класс Ordering < T > расширяет объект реализует Компаратор < T >
Ниже приведены некоторые методы, предоставляемые классом упорядочивания Guava:
Ordering (): это конструктор класса упорядочивания Guava. Он создает новый экземпляр этого класса (вызываемый только конструктором подкласса, обычно неявным). Некоторые другие методы, предоставляемые этим классом:
Исключения:
- явное (List valuesInOrder): NullPointerException, если любое из предоставленных значений равно null, IllegalArgumentException, если valuesInOrder содержит какие-либо повторяющиеся значения.
- явное (T minimumValue, T… RemainValuesInOrder): NullPointerException, если какое-либо из предоставленных значений равно null, IllegalArgumentException, если какие-либо повторяющиеся значения.
- min (Итератор итератор): NoSuchElementException, если итератор пуст, ClassCastException, если параметры не являются взаимно сопоставимыми в этом порядке.
- min (Iterable iterable): NoSuchElementException, если итерабельность пуста, ClassCastException, если параметры не являются взаимно сопоставимыми в этом порядке.
- min (E a, E b): ClassCastException, если параметры не являются взаимно сопоставимыми в этом порядке.
- min (E a, E b, E c, E… rest): ClassCastException, если параметры не являются взаимно сопоставимыми при таком порядке.
- max (Iterator iterator): NoSuchElementException, если итератор пуст, ClassCastException, если параметры не являются взаимно сопоставимыми в этом порядке.
- max (Iterable iterable): NoSuchElementException, если итерабельность пуста, ClassCastException, если параметры не являются взаимно сопоставимыми в этом порядке.
- max (E a, E b): ClassCastException, если параметры не являются взаимно сопоставимыми в этом порядке.
- max (E a, E b, E c, E… rest): ClassCastException, если параметры не являются взаимно сопоставимыми при таком порядке.
- lessOf (Iterable iterable, int k): IllegalArgumentException, если k отрицательно.
- lessOf (Iterator elements, int k): IllegalArgumentException, если k отрицательно.
- greatOf (Iterable iterable, int k): IllegalArgumentException, если k отрицательно.
- greatOf (Iterator elements, int k): IllegalArgumentException, если k отрицательно.
- immutableSortedCopy: NullPointerException, если какой-либо из элементов (или сам элемент) имеет значение NULL.
Some other methods provided by this class are :
Example 1 :
// Java code to show implementation of // Ordering class import java.util.*; import com.google.common.collect.Ordering; class GFG { // Driver code public static void main(String args[]) { // Creating a list of Integers List<Integer> myList = new ArrayList<Integer>(); myList.add( new Integer( 12 )); myList.add( new Integer( 3 )); myList.add( new Integer( 78 )); myList.add( new Integer( 50 )); myList.add( new Integer( 6 )); myList.add( new Integer( 70 )); myList.add( new Integer( 18 )); myList.add( new Integer( 9 )); myList.add( new Integer( 10 )); // Displaying natural order of numbers Ordering ordering = Ordering.natural(); System.out.println( "Input List : " + myList); // Displaying the sorted list Collections.sort(myList, ordering); System.out.println( "Sorted List : " + myList); } } |
Выход :
Input List : [12, 3, 78, 50, 6, 70, 18, 9, 10] Sorted List : [3, 6, 9, 10, 12, 18, 50, 70, 78]
Below given are some other methods provided by Ordering Class of Guava :
Example 2 :
// Java code to show implementation of // Ordering class import java.util.*; import com.google.common.collect.Ordering; class GFG { // Driver code public static void main(String args[]) { // Creating a list of Integers List<Integer> myList = new ArrayList<Integer>(); myList.add( new Integer( 12 )); myList.add( new Integer( 3 )); myList.add( new Integer( 78 )); myList.add( new Integer( 50 )); myList.add( new Integer( 6 )); myList.add( new Integer( 70 )); myList.add( new Integer( 18 )); myList.add( new Integer( 9 )); myList.add( new Integer( 10 )); // Displaying natural order of numbers Ordering ordering = Ordering.natural(); System.out.println( "Minimum element is : " + ordering.min(myList)); } } |
Выход :
Минимальный элемент: 3
Example 3 :
// Java code to show implementation of // Ordering class import java.util.*; import com.google.common.collect.Ordering; class GFG { // Driver code public static void main(String args[]) { // Creating a list of Integers List<Integer> myList = new ArrayList<Integer>(); myList.add( new Integer( 12 )); myList.add( new Integer( 3 )); myList.add( new Integer( 78 )); myList.add( new Integer( 50 )); myList.add( new Integer( 6 )); myList.add( new Integer( 70 )); myList.add( new Integer( 18 )); myList.add( new Integer( 9 )); myList.add( new Integer( 10 )); // Displaying natural order of numbers Ordering ordering = Ordering.natural(); System.out.println( "Maximum element is : " + ordering.max(myList)); } } |
Выход :
Максимальный элемент: 78
Example 4 :
// Java code to show implementation of // Ordering class import java.util.*; import com.google.common.collect.Ordering; class GFG { // Driver code public static void main(String args[]) { // Creating a list of Integers List<Integer> myList = new ArrayList<Integer>(); myList.add( new Integer( 12 )); myList.add( new Integer( 3 )); myList.add( new Integer( 78 )); myList.add( new Integer( 50 )); myList.add( new Integer( 6 )); myList.add( new Integer( 70 )); myList.add( new Integer( 18 )); myList.add( new Integer( 9 )); myList.add( new Integer( 10 )); // Displaying natural order of numbers Ordering ordering = Ordering.natural(); // To get reverse of original list Collections.sort(myList, ordering.reverse()); // Displaying the reversed elements System.out.println(myList); } } |
Выход :
[78, 70, 50, 18, 12, 10, 9, 6, 3]
Ссылка: Google Guava
Вниманию читателя! Не переставай учиться сейчас. Ознакомьтесь со всеми важными концепциями Java Foundation и коллекций с помощью курса "Основы Java и Java Collections" по доступной для студентов цене и будьте готовы к работе в отрасли. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .