假设我有一个 Person 类并创建了该类的一些对象。然后我制作一个映射,其中将 Person 作为键,将字符串作为值。我想创建一个方法,它接受一个名称并查找具有该名称的人,然后打印出具有该名称的键的值
这是我的代码:
import java.util.HashMap;
import java.util.Map;
public class Ex03{
public static void main(String[] args) {
new Ex03();
}
public Ex03(){
Person person1 = new Person("Name1", "LastName1", "Address1");
Person person2 = new Person("Name2", "LastName2", "Address2");
Person person3 = new Person("Name3", "LastName3", "Address3");
Person person4 = new Person("Name4", "LastName4", "Address4");
Map<Person, String> map = new HashMap<>();
map.put(person1, "12345678901");
map.put(person2, "12345678902");
map.put(person3, "12345678903");
map.put(person4, "12345678904");
findNumber(map, "Name1");
}
public void findNumber(Map<Person, String> map, String name){
}
class Person {
String name, lastName, address;
public Person(){
}
public Person(String name, String lastName, String address){
this.name = name;
this.lastName = lastName;
this.address = address;
}
@Override
public String toString() {
return "Person [name=" + name + ", lastName=" + lastName + ", address=" + address + "]";
}
} //end of class Person
}
如何使用 findNumber() 方法? 回顾一下:输入一个字符串名称,方法找到具有该名称的 Person 对象,打印出绑定(bind)到具有我们输入的名称的 Person Key 的值。提前致谢
最佳答案
除非您将名称的单独映射存储到 Person
对象,否则您必须循环遍历 keySet
映射的,将每个键与字符串进行比较。
关于java - 本地图中的键是一个对象时,如何通过该对象的属性进行搜索?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41075205/