Guava - Sipariş Sınıfı

Sıralama, gelişmiş zincirleme işlevselliği, çoklu yardımcı yöntemler, çok tipli sıralama yeteneği vb. İle zenginleştirilmiş bir karşılaştırıcı olarak görülebilir.

Sınıf Beyanı

Aşağıdaki beyanı com.google.common.collect.Ordering<T> sınıf -

@GwtCompatible
public abstract class Ordering<T>
   extends Object
      implements Comparator<T>

Sınıf Yöntemleri

Sr.No Yöntem ve Açıklama
1

static Ordering<Object> allEqual()

Tüm değerleri eşit kabul eden ve "sıralama yok" şeklinde bir sıralama döndürür. Bu sıralamayı herhangi bir kararlı sıralama algoritmasına geçirmek, öğelerin sıralamasında herhangi bir değişikliğe yol açmaz.

2

static Ordering<Object> arbitrary()

Tüm nesneler üzerinde rastgele bir sıralama döndürür; bunun için (a, b) == 0, a == b (özdeşlik eşitliği) anlamına gelir.

3

int binarySearch(List<? extends T> sortedList, T key)

İkili arama algoritmasını kullanarak anahtar için sıralanmışList'i arar.

4

abstract int compare(T left, T right)

Düzen için iki argümanını karşılaştırır.

5

<U extends T> Ordering<U> compound(Comparator<? super U> secondaryComparator)

Önce bunu sıralamayı kullanan, ancak bir "bağ" durumunda ikincilComparator'a yetki veren bir sıralama döndürür.

6

static <T> Ordering<T> compound(Iterable<? extends Comparator<? super T>> comparators)

Sıfır olmayan bir sonuç bulunana kadar verilen her karşılaştırıcıyı sırayla deneyen, bu sonucu döndüren ve yalnızca tüm karşılaştırıcılar sıfır döndürürse sıfır döndüren bir sıralama döndürür.

7

static <T> Ordering<T> explicit(List<T> valuesInOrder)

Verilen listede göründükleri sıraya göre nesneleri karşılaştıran bir sıralama döndürür.

8

static <T> Ordering<T> explicit(T leastValue, T... remainingValuesInOrder)

Nesneleri bu yönteme verildikleri sıraya göre karşılaştıran bir sıralama döndürür.

9

static <T> Ordering<T> from(Comparator<T> comparator)

Mevcut bir karşılaştırıcı örneğini temel alan bir sıralama döndürür.

10

<E extends T> List<E> greatestOf(Iterable<E> iterable, int k)

Bu sıralamaya göre verilen iterable'ın en büyük k elemanlarını en büyükten en küçüğe doğru döndürür.

11

<E extends T> List<E> greatestOf(Iterator<E> iterator, int k)

Bu sıralamaya göre verilen yineleyicideki en büyük k elemanlarını en büyükten en küçüğe doğru döndürür.

12

<E extends T> ImmutableList<E> immutableSortedCopy(Iterable<E> elements)

Bu sıralamaya göre sıralanmış öğeleri içeren değişmez bir liste döndürür.

13

boolean isOrdered(Iterable<? extends T> iterable)

Bu sıralamaya göre, ilkinden sonraki yinelenebilir durumdaki her öğe kendisinden önce gelen öğeden büyükse veya ona eşitse true değerini döndürür.

14

boolean isStrictlyOrdered(Iterable<? extends T> iterable)

Bu sıralamaya göre, birinciden sonra yinelenebilir durumdaki her öğe kendisinden önceki öğeden kesinlikle daha büyükse, true değerini döndürür

15

<E extends T> List<E> leastOf(Iterable<E> iterable, int k)

Bu sıralamaya göre verilen iterable'ın en küçük elemanlarını en küçüğünden en büyüğüne doğru döndürür.

16

<E extends T> List<E> leastOf(Iterator<E> elements, int k)

Bu sıralamaya göre verilen yineleyiciden en azdan en büyüğe doğru sırayla en küçük öğeleri döndürür.

17

<S extends T> Ordering<Iterable<S>> lexicographical()

Sıfır olmayan bir sonuç bulunana kadar karşılık gelen öğeleri çiftler halinde karşılaştırarak yinelemeleri sıralayan yeni bir sıralama döndürür; "sözlük düzeni" ni empoze eder.

18

<E extends T> E max(E a, E b)

Bu sıralamaya göre iki değerden büyük olanı döndürür.

19

<E extends T> E max(E a, E b, E c, E... rest)

Bu sıralamaya göre belirtilen değerlerin en büyüğünü döndürür.

20

<E extends T> E max(Iterable<E> iterable)

Bu sıralamaya göre belirtilen değerlerin en büyüğünü döndürür.

21

<E extends T> E max(Iterator<E> iterator)

Bu sıralamaya göre belirtilen değerlerin en büyüğünü döndürür.

22

<E extends T> E min(E a, E b)

Bu sıralamaya göre iki değerden küçük olanı döndürür.

23

<E extends T> E min(E a, E b, E c, E... rest)

Bu sıralamaya göre belirtilen değerlerin en azını döndürür.

24

<E extends T> E min(Iterable<E> iterable)

Bu sıralamaya göre belirtilen değerlerin en azını döndürür.

25

<E extends T> E min(Iterator<E> iterator)

Bu sıralamaya göre belirtilen değerlerin en azını döndürür.

26

static <C extends Comparable> Ordering<C> natural()

Değerlerin doğal sırasını kullanan serileştirilebilir bir sıralama döndürür.

27

<S extends T> Ordering<S> nullsFirst()

Null değerini diğer tüm değerlerden daha az olarak değerlendiren bir sıralama döndürür ve bunu boş olmayan değerleri karşılaştırmak için kullanır.

28

<S extends T> Ordering<S> nullsLast()

Null değerini diğer tüm değerlerden daha büyük olarak değerlendiren bir sıralama döndürür ve boş olmayan değerleri karşılaştırmak için bu sıralamayı kullanır.

29

<F> Ordering<F> onResultOf(Function<F,? extends T> function)

Öğeleri önce onlara bir işlev uygulayarak, ardından bu sonuçları bunu kullanarak karşılaştırarak sıralayan F üzerinde yeni bir sıralama döndürür.

30

<S extends T> Ordering<S> reverse()

Bu sıralamanın tersini döndürür; Collections.reverseOrder (Karşılaştırıcı) ile eşdeğer Sıralama.

31

<E extends T> List<E> sortedCopy(Iterable<E> elements)

Bu sıralamaya göre sıralanmış öğeleri içeren değiştirilebilir bir liste döndürür; bunu yalnızca ortaya çıkan liste daha fazla değişiklik gerektirdiğinde veya boş değeri içerebileceğinde kullanın.

32

static Ordering<Object> usingToString()

ToString () tarafından döndürüldüğü şekliyle, nesneleri dize temsillerinin doğal sırasına göre karşılaştıran bir sıralama döndürür.

Miras Alınan Yöntemler

Bu sınıf, aşağıdaki sınıftan yöntemleri miras alır -

  • java.lang.Object

Sipariş Sınıfı Örneği

Seçtiğiniz herhangi bir düzenleyiciyi kullanarak aşağıdaki java programını oluşturun 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);
   }
}

Sonucu Doğrulayın

Kullanarak sınıfı derleyin javac aşağıdaki gibi derleyici -

C:\Guava>javac GuavaTester.java

Şimdi sonucu görmek için GuavaTester'ı çalıştırın.

C:\Guava>java GuavaTester

Sonucu görün.

Input List: 
[5, 2, 15, 51, 53, 35, 45, 32, 43, 16]
Sorted List: 
[2, 5, 15, 16, 32, 35, 43, 45, 51, 53]
======================
List is sorted: true
Minimum: 2
Maximum: 53
Reverse: [53, 51, 45, 43, 35, 32, 16, 15, 5, 2]
Null added to Sorted List: 
[53, 51, 45, 43, 35, 32, 16, 15, 5, 2, null]
Null first Sorted List: 
[null, 2, 5, 15, 16, 32, 35, 43, 45, 51, 53]
======================
Another List: 
[Ram, Shyam, Mohan, Sohan, Ramesh, Suresh, Naresh, Mahesh, null, Vikas, Deepak]
Null first then reverse sorted list: 
[Vikas, Suresh, Sohan, Shyam, Ramesh, Ram, Naresh, Mohan, Mahesh, Deepak, null]