タイトルはちょっと意味が分からないと思いますので
以下コード例です。お願いいたします。
Java
1public class A { 2 3 public static void main(String[] args) { 4 List<String[]> list = new ArrayList<>(); 5 String[] a = { "1", "Monday" }; 6 String[] b = { "3", "Wednesday" }; 7 String[] c = { "2", "Tuesday" }; 8 9 list.add(a); 10 list.add(b); 11 list.add(c); 12 13 for (String[] str : list) { 14 System.out.println(str[0] + str[1]); 15 } 16 } 17}
実行すると以下の結果になります。
1Monday 3Wednesday 2Tuesday
これを配列の最初の要素(index0)で判別し、昇順もしくは降順でソートを行いたいです。
期待する結果としては以下のような感じです。
1Monday 2Tuesday 3Wednesday
ソートのロジックをご自分で作る(作りたい)ということなのでしょうか。
それとも、何かのメソッドを使うつもりなのでしょうか。
ソートした後にそのリストを使いたいのです。
ロジックを自分で作りたいということではありません。
では、一つには「ロジックを作らずにソートする方法」を探されていて、かつ、二つ目として「それは配列の中身でソートするもの」・・・ということでしょうか。
恐らくそのようなメソッド等ないかと思っていますので
ロジックの作り方というか、このような設計でコードを書けば配列の中身でソートできますよ
みたいな教えが欲しかったのです。
ふむ。
ではもう少し単刀直入にお伝え致します。
List をソートする方法はほぼ java の初期から存在しますし、どのようにソートするのかも自由に書けます。
java.util.Collections クラスやその sort メソッド、およびその引数 Comparator についてお調べになっては如何でしょうか。
また、最近は List クラス自体にも sort メソッドがありますし、stream 化してソートする方法もあります。
一応自分なりに調べて分からなかったので、ここで質問した次第でございます。
リストの中身が配列であるパターンで配列の要素で並び替えを行うパターンが調べてみてもなかったので質問させて頂きました。
> 一応自分なりに調べて分からなかった
でしたら、ご質問内にそのお調べになった情報(サイトのURLや書籍名等)や具体的にどこが分からなかったのか(「~」と書いてあるが XXX を YYY しても ZZZ にならなかった等も)をお書きくださると、ここまでのようなやりとりが大分減らせたりしますので、ご一考ください。
> ~パターンが調べてみてもなかった
プログラムを作り始められた方で良く見受けられますのは「ある処理を行う方法は定まっている」という思い込みで欲しいモノに完全一致する情報を探されることです。
プログラミングは「作り出す」作業です。利用できるモノは利用しますが、無ければ作るということです。各種情報に出てくるコードは、その作者の必要に応じて「作り出した」ものです。そこから翻って『自らも「作り出す」』という発想に至って頂けたら…と思います。
回答1件
あなたの回答
tips
プレビュー