Guava-ordering-class

提供:Dev Guides
移動先:案内検索

グアバ-注文クラス

順序付けは、強化された連鎖機能、複数のユーティリティメソッド、複数の種類の並べ替え機能などを備えた充実したコンパレータと見なすことができます。

クラス宣言

以下は com.google.common.collect.Ordering <T> クラスの宣言です-

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

クラスメソッド

Sr.No Method & Description
1

static Ordering<Object> allEqual()

すべての値を等しいものとして扱う順序を返し、「順序なし」を示します。この順序付けを安定したソートアルゴリズムに渡すと、要素の順序は変更されません。

2

static Ordering<Object> arbitrary()

compare(a、b)== 0がa == b(恒等式)を意味する、すべてのオブジェクトの任意の順序を返します。

3

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

バイナリ検索アルゴリズムを使用してキーのsortedListを検索します。

4

abstract int compare(T left, T right)

2つの引数の順序を比較します。

5

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

最初にthisの順序付けを使用する順序付けを返しますが、「tie」の場合はsecondaryComparatorに委任します。

6

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

ゼロ以外の結果が見つかるまで、指定された各コンパレータを順番に試行し、その結果を返し、すべてのコンパレータがゼロを返す場合にのみゼロを返す順序を返します。

7

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

指定されたリストに表示される順序に従ってオブジェクトを比較する順序を返します。

8

static <T> Ordering<T> explicit(T leastValue, T…​ remainingValuesInOrder)

このメソッドに与えられた順序に従ってオブジェクトを比較する順序を返します。

9

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

既存のコンパレータインスタンスに基づいて順序付けを返します。

10

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

この順序付けに従って、指定された反復可能オブジェクトのk個の最大要素を、最大から最小の順に返します。

11

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

この順序に従って、指定された反復子からk個の最大要素を最大から最小の順に返します。

12

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

この順序でソートされた要素を含む不変のリストを返します。

13

boolean isOrdered(Iterable<? extends T> iterable)

この順序に従って、最初の要素の後のiterableの各要素が前の要素以上である場合、trueを返します。

14

boolean isStrictlyOrdered(Iterable<? extends T> iterable)

この順序に従って、最初の要素の後のiterableの各要素がその前の要素よりも厳密に大きい場合、trueを返します。

15

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

この順序に従って、指定された反復可能オブジェクトのk個の最小要素を、最小から最大の順に返します。

16

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

この順序付けに従って、指定された反復子からk最小要素を最小から最大の順に返します。

17

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

ゼロ以外の結果が見つかるまで対応する要素をペアで比較することにより、イテラブルをソートする新しい順序を返します。 「辞書の順序」を課します。

18

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

この順序に従って、2つの値のうち大きい方を返します。

19

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

この順序に従って、指定された値の最大値を返します。

20

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

この順序に従って、指定された値の最大値を返します。

21

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

この順序に従って、指定された値の最大値を返します。

22

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

この順序に従って、2つの値のうち小さい方を返します。

23

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

この順序に従って、指定された値の最小値を返します。

24

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

この順序に従って、指定された値の最小値を返します。

25

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

この順序に従って、指定された値の最小値を返します。

26

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

値の自然順序を使用する直列化可能な順序を返します。

27

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

nullを他のすべての値よりも小さいものとして扱う順序を返し、これを使用してnull以外の値を比較します。

28

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

nullを他のすべての値よりも大きいものとして扱う順序を返し、この順序を使用してnull以外の値を比較します。

29

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

最初に関数を適用し、これを使用してそれらの結果を比較することによって要素を順序付けるFの新しい順序を返します。

30

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

この順序の逆を返します。 Collections.reverseOrder(Comparator)と同等の順序。

31

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

この順序でソートされた要素を含む可変リストを返します。結果のリストをさらに変更する必要がある場合、またはnullを含む場合にのみ、これを使用します。

32

static Ordering<Object> usingToString()

toString()によって返される文字列表現の自然な順序でオブジェクトを比較する順序を返します。

継承されるメソッド

このクラスは、次のクラスからメソッドを継承します-

  • java.lang.Object

注文クラスの例

たとえば、* C:/> Guava。*で選択したエディターを使用して、次のJavaプログラムを作成します。

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);
   }
}

結果を確認する

次のように javac コンパイラを使用してクラスをコンパイルします-

C:\Guava>javac GuavaTester.java

GuavaTesterを実行して結果を確認します。

C:\Guava>java GuavaTester

結果をご覧ください。

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]