JavaでCollections.sortソート分析

コレクションクラスが実装におけるソート方法は、セットリストのインターフェースを注文することができます。このメソッドは、リストの要素は、Comparableインタフェースを実装することを前提としています。

ビューJavaの公式文書ショー、ソート2つのオーバーロードされた形式があります。最初のオーバーロードされます。

static <T extends Comparable<? super T>> void sort(List<T> list)

このメソッドは、要素の一覧を表示します昇順ではなく、リストには次の基準を満たす必要があります。

1.リストの要素は、Comparableインタフェースを実装し、任意の2つの要素のリストは、同等です。
  2.リストがsetメソッドをサポートしている必要があります。

//昇順
Collections.sort(リスト);

この方法は、降順で並べ替えることができますか?

この方法は、第2のオーバーロードされたフォームのソート方法を使用する必要があります:

public static <T> void sort(List<T> list,Comparator<? super T> c)

他の手段によってソートするには、ソート方法の第2引数として比較対象とすることができます。あなたは順序を逆にしたい場合は、最も簡単な方法は、2番目のパラメータとしてCollections.reverseOrder()にあります。

//逆順
Collections.sort(リスト、Collections.reverseOrder()) ;

要約:

整数列または同等のインターフェースは、この方法は、直接使用することができ達成されたこれらのクラスの1は、(正のシーケンス)ソートを実装するためのパラメータのCollections.sortのデフォルトのリストを渡します。

2.デフォルトモード(正シーケンス)を使用したくない場合は、照合順序を定義するコンパレータから渡されCollections.sort二番目のパラメータの種類によってソートされました。

ソートCollections.sortの方法を使用する場合は、カスタム・タイプ(例えば、Empの本実施例)3.、方法のcompareTo匹敵インタフェースによって達成することができ、達成されない場合、参照点2。

コンパレータインタフェース4.jdk1.8は、正スイッチと逆するために使用され、逆に()メソッドは、より実用的である持っている多くの新しい方法があります。

リファレンスを読むことがあります。https://www.cnblogs.com/yw0219/p/7222108.html

公開された254元の記事 ウォン称賛23 ビュー50000 +

おすすめ

転載: blog.csdn.net/qq_30242987/article/details/104696484