将元素添加到ArrayList的正确位置

时间:2016-11-14 21:55:47

标签: java arraylist compareto

我需要创建一个add方法,它将txt文件中的项添加到数组列表中,同时按字母顺序排序(作业)。我已经创建了一些代码,但一直得到一个空指针异常错误。

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]);

1 个答案:

答案 0 :(得分: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;
    }