Ổi - Lớp đặt hàng
Đặt hàng có thể được xem như một bộ so sánh phong phú với chức năng chuỗi nâng cao, nhiều phương pháp tiện ích, khả năng phân loại nhiều loại, v.v.
Khai báo lớp học
Sau đây là khai báo cho com.google.common.collect.Ordering<T> lớp học -
@GwtCompatible
public abstract class Ordering<T>
extends Object
implements Comparator<T>
Phương pháp lớp học
Sr.No | Phương pháp & Mô tả |
---|---|
1 | static Ordering<Object> allEqual() Trả về một thứ tự coi tất cả các giá trị là bằng nhau, cho biết "không có thứ tự". Việc chuyển thứ tự này cho bất kỳ thuật toán sắp xếp ổn định nào sẽ không làm thay đổi thứ tự của các phần tử. |
2 | static Ordering<Object> arbitrary() Trả về một thứ tự tùy ý trên tất cả các đối tượng, đối tượng mà so sánh (a, b) == 0 ngụ ý a == b (bình đẳng danh tính). |
3 | int binarySearch(List<? extends T> sortedList, T key) Tìm kiếm được sắp xếp Danh sách cho khóa bằng cách sử dụng thuật toán tìm kiếm nhị phân. |
4 | abstract int compare(T left, T right) So sánh hai đối số của nó cho thứ tự. |
5 | <U extends T> Ordering<U> compound(Comparator<? super U> secondaryComparator) Trả về một thứ tự đầu tiên sử dụng thứ tự này, nhưng trong trường hợp "buộc", sau đó sẽ ủy quyền cho Bộ so sánh phụ. |
6 | static <T> Ordering<T> compound(Iterable<? extends Comparator<? super T>> comparators) Trả về một thứ tự thử từng bộ so sánh đã cho theo thứ tự cho đến khi tìm thấy kết quả khác 0, trả về kết quả đó và chỉ trả về 0 nếu tất cả các bộ so sánh đều trả về 0. |
7 | static <T> Ordering<T> explicit(List<T> valuesInOrder) Trả về một thứ tự so sánh các đối tượng theo thứ tự mà chúng xuất hiện trong danh sách đã cho. |
số 8 | static <T> Ordering<T> explicit(T leastValue, T... remainingValuesInOrder) Trả về một thứ tự so sánh các đối tượng theo thứ tự mà chúng được cấp cho phương thức này. |
9 | static <T> Ordering<T> from(Comparator<T> comparator) Trả về một thứ tự dựa trên một phiên bản so sánh hiện có. |
10 | <E extends T> List<E> greatestOf(Iterable<E> iterable, int k) Trả về k phần tử lớn nhất của có thể lặp đã cho theo thứ tự này, theo thứ tự từ lớn nhất đến nhỏ nhất. |
11 | <E extends T> List<E> greatestOf(Iterator<E> iterator, int k) Trả về k phần tử lớn nhất từ trình lặp đã cho theo thứ tự này, theo thứ tự từ lớn nhất đến nhỏ nhất. |
12 | <E extends T> ImmutableList<E> immutableSortedCopy(Iterable<E> elements) Trả về một danh sách bất biến có chứa các phần tử được sắp xếp theo thứ tự này. |
13 | boolean isOrdered(Iterable<? extends T> iterable) Trả về true nếu mỗi phần tử trong có thể lặp lại sau phần tử đầu tiên lớn hơn hoặc bằng phần tử đứng trước nó, theo thứ tự này. |
14 | boolean isStrictlyOrdered(Iterable<? extends T> iterable) Trả về true nếu mỗi phần tử trong có thể lặp lại sau phần tử đầu tiên lớn hơn phần tử đứng trước nó, theo thứ tự này |
15 | <E extends T> List<E> leastOf(Iterable<E> iterable, int k) Trả về k phần tử nhỏ nhất của có thể lặp đã cho theo thứ tự này, theo thứ tự từ nhỏ nhất đến lớn nhất. |
16 | <E extends T> List<E> leastOf(Iterator<E> elements, int k) Trả về k phần tử nhỏ nhất từ trình lặp đã cho theo thứ tự này, theo thứ tự từ nhỏ nhất đến lớn nhất. |
17 | <S extends T> Ordering<Iterable<S>> lexicographical() Trả về một thứ tự mới sắp xếp các thành phần lặp lại bằng cách so sánh các phần tử tương ứng theo từng cặp cho đến khi tìm thấy một kết quả khác; áp đặt "trật tự từ điển". |
18 | <E extends T> E max(E a, E b) Trả về giá trị lớn hơn trong hai giá trị theo thứ tự này. |
19 | <E extends T> E max(E a, E b, E c, E... rest) Trả về giá trị lớn nhất trong số các giá trị được chỉ định theo thứ tự này. |
20 | <E extends T> E max(Iterable<E> iterable) Trả về giá trị lớn nhất trong số các giá trị được chỉ định theo thứ tự này. |
21 | <E extends T> E max(Iterator<E> iterator) Trả về giá trị lớn nhất trong số các giá trị được chỉ định theo thứ tự này. |
22 | <E extends T> E min(E a, E b) Trả về giá trị nhỏ hơn trong hai giá trị theo thứ tự này. |
23 | <E extends T> E min(E a, E b, E c, E... rest) Trả về giá trị ít nhất trong số các giá trị được chỉ định theo thứ tự này. |
24 | <E extends T> E min(Iterable<E> iterable) Trả về giá trị ít nhất trong số các giá trị được chỉ định theo thứ tự này. |
25 | <E extends T> E min(Iterator<E> iterator) Trả về giá trị ít nhất trong số các giá trị được chỉ định theo thứ tự này. |
26 | static <C extends Comparable> Ordering<C> natural() Trả về một thứ tự có thể tuần tự hóa sử dụng thứ tự tự nhiên của các giá trị. |
27 | <S extends T> Ordering<S> nullsFirst() Trả về một thứ tự coi null ít hơn tất cả các giá trị khác và sử dụng thứ tự này để so sánh các giá trị không phải null. |
28 | <S extends T> Ordering<S> nullsLast() Trả về một thứ tự coi null lớn hơn tất cả các giá trị khác và sử dụng thứ tự này để so sánh các giá trị không phải null. |
29 | <F> Ordering<F> onResultOf(Function<F,? extends T> function) Trả về một thứ tự mới trên F để sắp xếp thứ tự các phần tử bằng cách áp dụng một hàm trước tiên cho chúng, sau đó so sánh các kết quả đó bằng cách sử dụng hàm này. |
30 | <S extends T> Ordering<S> reverse() Trả về mặt trái của thứ tự này; Đặt hàng tương đương với Collections.reverseOrder (Bộ so sánh). |
31 | <E extends T> List<E> sortedCopy(Iterable<E> elements) Trả về danh sách có thể thay đổi chứa các phần tử được sắp xếp theo thứ tự này; chỉ sử dụng điều này khi danh sách kết quả có thể cần sửa đổi thêm hoặc có thể chứa rỗng. |
32 | static Ordering<Object> usingToString() Trả về một thứ tự so sánh các đối tượng theo thứ tự tự nhiên của các biểu diễn chuỗi của chúng như được trả về bởi toString (). |
Phương thức được kế thừa
Lớp này kế thừa các phương thức từ lớp sau:
- java.lang.Object
Ví dụ về lớp đặt hàng
Tạo chương trình java sau bằng cách sử dụng bất kỳ trình soạn thảo nào bạn chọn 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);
}
}
Xác minh kết quả
Biên dịch lớp bằng cách sử dụng javac trình biên dịch như sau -
C:\Guava>javac GuavaTester.java
Bây giờ hãy chạy GuavaTester để xem kết quả.
C:\Guava>java GuavaTester
Xem kết quả.
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]