为了账号安全,请及时绑定邮箱和手机立即绑定

关于Collections类的binarySearch使用,为什么binarySearch返回值为负数,还会抛异常,求解

关于Collections类的binarySearch使用,为什么binarySearch返回值为负数,还会抛异常,求解

慕码人2483693 2019-01-18 02:11:03
Student.java private int age; private String name; public Student(int age, String name){ this.name = name; this.age = age; } public void setAge(int age) { this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public String toString(){ return "age:" + age + "\t" + "Name:" + name; } Main.java public class Main { public static void main(String[] args) { Student stu1 = new Student(48, "jre"); Student stu2 = new Student(25, "JIe"); Student stu3 = new Student(47, "Lil"); Student stu4 = new Student(40, "Lilith"); Student stu5 = new Student(20, "Jack"); LinkedList linkedList = new LinkedList(); linkedList.add(stu5); linkedList.add(stu4); linkedList.add(stu3); linkedList.add(stu2); linkedList.add(stu1); Collections.sort(linkedList, (Student o1, Student o2) ->{ if (o1.getAge() > o2.getAge()){ return 1; }else if (o1.getAge() == o2.getAge()){ return 0; }else return -1; }); int index = Collections.binarySearch(linkedList, stu2); System.out.println("二分查找法查找出的Index为:" + index); System.out.println("二分查找法查找出的值为:" + linkedList.get(index)); Iterator it = linkedList.iterator(); it.forEachRemaining(e -> System.out.println(e)); } }
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 758 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信