【发布时间】:2017-09-04 09:52:19
【问题描述】:
我已经创建了 ArrayList,我想使用二进制搜索通过注册号搜索狗的详细信息。我尝试使用Collections.binarySearch,但无法弄清楚。如何使用注册号搜索狗的详细信息,例如名称和品种?
DogSort.java
public class DogSort {
private static Scanner scanner = new Scanner(System.in);
public static void main(String[] args) {
ArrayList<Dog> listDog = new ArrayList<Dog>();
listDog.add(new Dog("Max", "German Shepherd", "1001"));
listDog.add(new Dog("Gracie","Rottweiler","1003"));
listDog.add(new Dog("Sam", "Beagle", "1002"));
}
}
Dog.java
class Dog {
private String name;
private String breed;
private String registrationNumber;
public Dog(String name, String breed, String registrationNumber) {
this.name = name;
this.breed = breed;
this.registrationNumber = registrationNumber;
}
public String getName() {
return this.name;
}
public String getBreed() {
return this.breed;
}
public String getRegistrationNumber() {
return this.registrationNumber;
}
public void setName(String name) {
this.name = name;
}
public void setBreed(String breed) {
this.breed = breed;
}
public void setRegistrationNumber(String registrationNumber) {
this.registrationNumber = registrationNumber;
}
@Override
public String toString() {
return this.name;
}
}
【问题讨论】:
-
docs.oracle.com/javase/8/docs/api/java/util/… 哪一部分不清楚?你尝试了什么代码?
-
我尝试阅读 Oracle 文档,然后发布了问题。如果我从文档中看不懂,我不应该在这里发布问题吗?
-
我试过
Collections.binarySearch(listDog,"1002");但它不起作用,因为我知道它应该与 Dog 类的参数匹配但我不知道如何仅通过一个参数进行搜索? -
你想如何“排序”它们,按什么顺序?你在哪里执行这个命令? ;)
-
这不是我链接的方法。
标签: java arraylist binary-search