2016-11-14 7 views
0

Мне нужно создать метод добавления, который будет добавлять элементы из файла txt в список массивов и в то же время сортировать их по алфавиту (домашняя работа). Я создал некоторый код, но продолжаю получать ошибку исключения из-за нулевого указателя.Добавление элементов в ArrayList в правильном положении

public void add(String str) 
{ 

    int index = 0; 
    str = list[index]; 
    String str2 = list[index+1]; 
    int result = str.compareTo(str2); 

    for(index=0; index < elements; index++){ 

     if(result < 0){ 
     list[index] = str2; 
     } 

     else if (result > 0){ 
     list[index] = str; 
     } 

Вот основной метод код, который ошибка исходит от

for (int i=0; i<NUMBER_OF_NAMES;i++) 
    al.add(names[i]); 
+3

Показать весь ваш основного метода Пожалуйста. – nhouser9

+0

Предполагаете ли вы использовать массив 'String []' или 'ArrayList '? – bradimus

+0

Почему бы просто не добавить его в ArrayList или ArrayList, а сразу после добавления сортировать его с помощью 'Collections.sort' или' Arrays.sort'? – mojarras

ответ

1

вашего главный метод:

List<String> l = new ArrayList<String>(); 
    for (int i=0; i<NUMBER_OF_NAMES;i++){ 
     l = addItem(names[i], l); 
    } 

метод дополнит:

public static List<String> addItem(String item, List<String> list) { 

     list.add(item); 

     Collections.sort(list, new Comparator<String>() { 
      @Override 
      public int compare(String s1, String s2) { 
       return s1.compareToIgnoreCase(s2); 
      } 
     }); 

     return list; 
    }