binarySearch() メソッドを呼び出して検索操作を実行する場合、コンパレーターまたは同等のものを実装する必要がありますか? binarySearch() メソッドを呼び出そうとすると、例外が発生します。
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Iterator;
import java.util.List;
class Student implements{
private int id;
private String name;
public Student(int id, String name){
this.id = id;
this.name = name;
}
public Student() {
// TODO Auto-generated constructor stub
}
public int getId(){
return id;
}
public String getName(){
return name;
}
}
public class CollectionSearchDemo {
public static void main(String[] args) {
List<Student> list = new ArrayList<Student>();
list.add(new Student(3, "ouier"));
list.add(new Student(2, "fdgds"));
list.add(new Student(7, "kiluf"));
list.add(new Student(1, "6trfd"));
list.add(new Student(8, "hjgas"));
list.add(new Student(5, "ewwew"));
Collections.sort(list, new Comparator<Student>() {
@Override
public int compare(Student arg0, Student arg1) {
return arg0.getId() - arg1.getId();
}
});
Iterator iterator = list.iterator();
while(iterator.hasNext()){
Student student = (Student) iterator.next();
System.out.print(student.getId()+":"+student.getName()+" ");
}
System.out.println("I want to do searching ");
System.out.println("\n2 is at:"+Collections.binarySearch(list, 2, new Student()));
// facing exception when i invoke binarySearch method.
}
}
「new Student()」や「CollectionSearchDemo」を引数に検索しようとすると例外が発生します。binraySearch メソッドの引数として何を渡す必要があるかわかりません。
私を助けてください