2016-06-27 3 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); 

В основном эти три части кода будут заполнять имя, тип и режим в 1 строке. Каждая строка будет представлять собой строку данных. HOw, могу ли я сделать результат в алфавитном порядке? Я попробовал Arrays.sort (arr); но это не правильный результат. Любая помощь очень ценится, спасибо

+0

Любой путь нормально, его не часть уступки –

+1

Определение "не работает" в отношении 'Arrays.sort (...)'. Что вы ожидали, и что вы получили? –

+3

Добро пожаловать в переполнение стека! Не подвергайте вандализму свой пост. Это может привести к запрету вопроса. см. [question bans] (http://stackoverflow.com/help/question-bans) –

ответ

2

Использовать Arrays.sort(T[] a, Comparator<? super T> c) вместо Arrays.sort(T[] a).

Например:

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); 
      } 
     }); 
Смежные вопросы