按名称将学生对象添加到已排序的数组

时间:2018-01-25 06:49:08

标签: java

我需要将Student in Group类添加到按名称排序的Student数组中 也需要低复杂度(O(n)或O(n ^ 2)

public void add(String name,int day,int month,int year)
{  
   if(_noOfStud==MAX_STUDENTS)
      return;

   else if(_noOfStud==0)
       _stud[_noOfStud]=new Student(name,day,month,year);

   else...........?

}

1 个答案:

答案 0 :(得分:0)

您可以使用Arrays.binarySearch

Object[] studenArray = new Object[2];

Object studentObj = new Object();

int position = Arrays.binarySearch(studenArray, studentObj, new Comparator<Object>() {

    public int compare(Object o1, Object o2) {
        return o1.toString().compareTo(o2.toString());
    }
});
如果有同名学生,

职位将是学生职位 该位置将返回负数-1 =可能的位置0,-2 = 1

有关详细信息,请参阅java doc