2016-06-27 21 views
-4

アルファベット順にリストの内容を整理しようとしていますが、間違った結果が得られます。コードのスニペットを貼り付けて、理解を深めるためにコメントを追加しました。Javaでアルファベット順に並べ替え

 List<String[]> result = new LinkedList<>(); 
    try { 
     WfActivationModeValueHelper modeValueHelper = new WfActivationModeValueHelper(configSpaceService.getConfigServer(space), configSpaceService.getReferenceManager(space)); 
     Map<String, Boolean> configsMap = modeValueHelper.getActivationValueConfigs(); 
     for (Map.Entry<String, Boolean> entry : configsMap.entrySet()) { 
      String configKey = entry.getKey(); 
      Configuration config = configSpaceService.getConfigServer(space).getConfigurationData(configKey, null); 
      String[] arr = new String[3]; 

//これは、以下の私がアルファベット順に

  arr[0] = config.getFolder() + "." + config.getName(); 

//このタイプをソートしたい私の結果に移入されます、名前を出力します、これは私が//によってそれらをソートしたいところであります名前(アルファベット順)

//この種類を試しましたが、動作しませんでした //Arrays.sort(arr);

  arr[1] = config.getType(); 

      arr[2] = entry.getValue() ? "ENABLE" : "DISABLE"; 
      result.add(arr); 

     } 

     String[] array = {"\nCurrent default action is set to \"" + (modeValueHelper.getActivationMode() ? "ENABLE" : "DISABLE") + "\""}; 
     result.add(array); 

これらのコードの3つの部分には、名前、タイプ、モードが1行で入力されます。各行は1行のデータを表します。結果をアルファベット順に表示できますか?私はArrays.sort(arr)を試しました。それは正しい結果ではありません。どんな助けでも大歓迎です、ありがとうございます

+0

、割り当て –

+1

のその一部ではないは、Arrays.sort(...) ''に関しては "動作しませんでした" を定義します。あなたは何を期待しましたか、何を得ましたか? –

+3

ようこそスタックオーバーフロー!あなたの投稿を破壊しないでください。これは質問禁止につながる可能性があります。 [質問禁止](http://stackoverflow.com/help/question-bans)を参照してください –

答えて

2

Arrays.sort(T[] a)の代わりにArrays.sort(T[] a, Comparator<? super T> c)を使用してください。例えば

:任意の方法でokです

Arrays.sort(arr, new Comparator<String[]>() { 
      @Override 
      public int compare(final String[] item1, final String[] item2) { 
       final String col1Of1 = item1[0]; 
       final String col1Of2 = item2[0]; 
       return col1Of1.compareTo(col1Of2); 
      } 
     }); 
関連する問題