[解決済み] Javaでリストがソートされているかどうかを判断するには?
2023-08-06 05:41:57
質問
を受け取るメソッドが欲しいです。
List<T>
ここで
T
を実装しています。
Comparable
を実装し
true
または
false
である。
これをJavaで実装するには、どのような方法があるでしょうか? ジェネリックスやワイルドカードはそういうことを簡単に処理できるようにするためのものであることは明らかなのですが、どうもこんがらがってしまって。
また、リストが逆順かどうかをチェックするための類似のメソッドがあるといいのですが。
どのように解決するのですか?
グアバ は、この機能を 比較演算子 クラスによって提供されています。
boolean sorted = Comparators.isInOrder(list, comparator);
また
注文方法
クラスもありますが、これはほとんど時代遅れです。また
Ordering
は
Comparator
++. この場合、何らかの型のリストがあり、それを実装している場合は
Comparable
を実装しているリストがあれば、書くことができます。
boolean sorted = Ordering.natural().isOrdered(list);
これは任意の
Iterable
だけでなく
List
を処理することができます。
null
の前に来るか後に来るかを指定することで、簡単に扱うことができます。
null
要素の前に来るか後に来るかを指定することで、簡単に指定できます。
Ordering.natural().nullsLast().isOrdered(list);
また、通常だけでなく逆順もチェックできるようにしたいとのことでしたので、そのようにします。
Ordering.natural().reverse().isOrdered(list);
関連
-
スレッド "main "での例外 java.util.NoSuchElementException in Java 問題解決済み
-
SocketException java.netの4つの例外解決策。
-
maven レポート エラー 解決不可能な親POM
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaでNullPointerExceptionを回避する方法
-
[解決済み] 山積みされた靴下を効率よく組み合わせるには?
-
[解決済み] Java Mapの各エントリを効率的に反復処理するには?
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
-
[解決済み] 辞書を値で並べ替えるにはどうしたらいいですか?
-
[解決済み] Javaで配列に特定の値が含まれているかどうかを判断するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Eclipseは、ポップアップA Java Exception has occurred.を実行し、エラーException in threadの解決策を報告します。
-
スレッド "main "での例外 java.util.NoSuchElementException in Java 問題解決済み
-
Java の switch case 文で必要な定数式の問題の解決法
-
ajax コミット リソースの読み込みに失敗しました: サーバーはステータス 400 で応答しました ()
-
Uncaught ReferenceError: は定義されていません。
-
java -jarコマンドでパッケージを実行すると、無効または破損したjarfile xxxx.jarが表示される。
-
BindException: アドレスはすでに使用中です:バインドエラー解決
-
セミコロン期待値エラー解決
-
Java Runtime Environmentを継続するためのメモリが不足しています。
-
linux ant Resolve error: main class not found or couldn't be loaded org.apache.tools.ant.launcher.