2016-06-27 9 views
-3

アルファベット順にソートしようとしています 以下のコードスニペットを貼り付けています。Javaのアルファベット順の配列の並べ替え

String[] arr = new String[3]; 
arr[0] = config.getfoldersdata() + "." + config.getCars(); 
arr[1] = config.getType(); 
arr[2] = entry.getVals() ? "Data" : "Entry"; 
result.add(arr); 

.getCarsをアルファベット順に並べ替える必要があります。

上記のコードは、1行/ 1行にarr 1-3を返します。複数のレコード/行/行が存在する可能性があります。ですから、私はそれらをアルファベット順にソートしたいのですが、返されるのは.getCarsです。

.getCarsは文字列を返します。

上記のArrays.sort()を試しましたが、reは変更なしです(並べ替えなし)。

どこが間違っていますか?

+0

私はgetCarsリストまたは車と文字列ではなく返す必要がありますと仮定します。 – Rufi

+1

入力データと予想される出力の "完全な"例を返すことをお勧めします。今、あなたの質問を理解するのは本当に苦労します。 – GhostCat

+0

あなたの質問は不明です。あなたは何を正確にソートしたいですか?なぜ3つの異なるものを格納するために配列を使用しますか?実際に使うべきものは、3つのフィールドを持つオブジェクトです。 –

答えて

2

あなたのデザインはひどく、配列は実際にはオブジェクトでなければなりません。

しかし、いずれにせよ、あなただけの彼らの最初の要素の自然順序付けに基づいて配列をソートし、比較器が必要になります。

result.sort(Comparator.comparing(array -> array[0])); 
+0

また、デザインを改善するための助言を取るだろう –

-1

私の知る限りでは、Uは、通常の配列を使用してアルファベット順に並べ替えることはできませんの木を使用してみてくださいこのように設定してTreeSet tree = new TreeSet();それはソートされますようにそれはソートされます

+0

OPはおそらくリストが必要とCollections.sort –

関連する問題