Класс заказа | Гуава | Ява

Опубликовано: 13 Февраля, 2022

Компаратор с дополнительными методами для поддержки общих операций. Это «обогащенная» версия 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 и многому другому, см. Полный курс подготовки к собеседованию .