- ベストアンサー
Javaで2次元配列で文字によるソート方法
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
配列のソートを行う機能はjava.util.Arrays.sort()が持っていますが、データの大小を比較する方法はプログラマが指定する必要があります。 回答No.1に書いた (String[] d1, String[] d2) -> d1[0].compareTo(d2[0]) の部分が比較方法を表していて「Stringの配列d1とd2があったとき、それぞれの先頭要素d1[0]とd2[0]をString.compareTo()で比較する」という意味です。 以前は java.util.Arrays.sort(data, new java.util.Comparator<String[]>() { @Override public int compare(final String[] d1, final String[] d2) { return d1[0].compareTo(d2[0]); } }); と書いていたものが、Java 8で導入された記法によって簡潔に書けるようになったのです。
その他の回答 (1)
- _kappe_
- ベストアンサー率68% (1581/2304)
回答No.1
Java 8以降用 String[][] data = { { "AAA", "10" }, { "CCC", "20" }, { "BBB", "30" } }; java.util.Arrays.sort(data, (String[] d1, String[] d2) -> d1[0].compareTo(d2[0]));
質問者
お礼
やはり簡単にはできないんですね。 うーん、すごいです。 異次元の呪文にしか見えません(^^; ありがとうございました。
お礼
解説していただき、ありがとうございました! いろいろなメソッドがあるんですね。 こういったものをたくさん知っていると、できることが増えますね! 勉強になりました、ありがとうございました(^^)