Javaでリンクリストをソートする方法

著者: Randy Alexander
作成日: 23 4月 2021
更新日: 23 11月 2024
Anonim
Java:テキストファイルを簡単に読む
ビデオ: Java:テキストファイルを簡単に読む

コンテンツ

Javaでリンクリストを編成する方法クローズドリストは、プログラミングの世界における主要な種類のデータ構造の1つです。これは、次のノードを指すデータと参照を含むノードの編成です。 Javaでリンクリストをソートするために、Collectionsフレームワークと連携するリストクラスがあります。これはアルゴリズムを順序付けとして実装しています。


説明書

リンクリストをJavaで整理する (Fotolia.comのdanimagesによる尋問画像)

    リンクリストをJavaでソートする

  1. 新しいLinkedListオブジェクトを作成し、LinkedList変数を割り当てることによってリンクリストを宣言します。 LinkedListは一般的なListクラスのものであるため、Listを受け入れるメソッドはすべてLinkedListオブジェクトによっても受け入れられることになります。 "" LinkedList l = new LinkedList(); ""

  2. 同じ型のオブジェクト(整数など)をリストに追加します。これらはどのような種類のオブジェクトでもかまいませんが、リンクリストをソートするには、すべて同じタイプでなければなりません。

  3. List.addFirstメソッドを使用して新しいオブジェクトをリストの先頭に挿入します。これにより、追加したオブジェクトがすべて逆の順序になります。それらをリストの最後に追加したい場合は、List.addLastメソッドを使用してください。 "" list.addFirst(1); list.addFirst(3); list.addFirst(2); "

  4. 並べ替え方法が何をしているのかを見る前後に、リストを反復処理して印刷します。 ""(Iterator i = list.iterator(); i.hasNext();){System.out.println(i.next());} "の場合

    デフォルトのコンパレータとカスタムのコンパレータを使用してソートする

  1. リストをデフォルトのコンパレータでソートします。コンパレータは、2つのオブジェクトを比較するオブジェクトです。デフォルトのコンパレータオブジェクトは小さい方の演算子を使用するので、リストは昇順で並べられます。リストを並べ替えるには、静的Collections.sortメソッドを使用します。 "" Collections.sort(list); ""


  2. y){return -1; ">比較インタフェースを実装するクラスを作成し、それを順序付け引数としてインスタンスに渡すことで、カスタム比較子を使用してリストを順序付けします。 "パブリッククラスGreaterThanはComparator else if(x == y){return 0;} else {return 1;}}}"を実装しています。

  3. 2番目の引数としてGreaterThanの新しいインスタンスを渡すことによって、Collections.sortの呼び出しを使用します。大きいオブジェクトは他のオブジェクトより前面にあるため、リストは昇順ではなく降順でソートされます。あるいは、自分で入力したカスタムクラスからオブジェクトのリストをソートする場合、このクラスは別のComparatorクラスを使用する代わりにComparableインターフェイスを実装できます。 "" Collections.sort(list、new GreaterThan()); ""

どうやって

  • 回路とList.size()メソッドで反復するために整数を使用することは問題です。クローズドリストを繰り返すことは、高価な計算操作です。他のコマンドのように(l [2]のような)インデックス演算子を使うとき、Javaはリストがインデックス2に達するまでリストを反復しなければなりません。しかし、小さなリストでは、これは大きな問題です。インデックス演算子を使用して反復すると、多くのリソースを必要とするものになります。
  • LinkedListは同じインタフェースを実装するため、Listオブジェクトの実装方法に関係なく。
  • 比較方法は、arg0がarg1の前に順序付けられている場合は-1に、等しい順序の場合は0に、arg1がarg0の前に順序付けられている場合は1に戻る必要があります。

お知らせ

  • イテレータオブジェクトは、リスト内の各ノードが一度だけ訪問するようにします。プログラムを誤動作させる程度までデータ構造を悪用する可能性があるので、これを覚えておくことは重要です。

自然現象にはさまざまな種類があります。地質学的現象には、地震や火山が含まれます。気象、ハリケーン、嵐、海洋学、津波、海流。これらの現象は、噴火する火山から自家製の津波まで、魅力的で印象的なサイエンスフェアのプロジェクトになり得ます。地震を予測する動物や、誰もが飲み込む地球など、地震を取り巻く神話を調査します。さまざまな人々にインタビューし、これらの神話について彼らの意見を求めます。結果を書き留めて...

ナイフハンドルの種類

Frank Hunt

11月 2024

さまざまな状況での使用に適したさまざまな種類のナイフがあります。当然のことながら、ナイフハンドルにはさまざまなスタイルがあり、さまざまな素材から等しく作られています。ただし、新しいナイフを購入することに興味がある人にとって、いくつかのタイプが最も一般的で便利です。一般に、ナイフハンドルは、ブレードがハンドルにどのように取り付けられるかによって定義されます。ハンドルに挿入されたブレードの部分はタング...

面白い投稿