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]