我正在尝试用 java 制作电话簿。
我硬编码了 Person Vector<Person>
类型的 vector 。
并在其中添加了人。
现在我有一个Phonebook Class
并在其内部作为一个字段。我有一个
Map<Character, Vector<Person>> mp = new TreeMap<>();
。
我有接受字符的方法。它应该打印所有名字以硬编码 vector 中的字符开头的人。
我怎样才能制作硬编码Vector
, Map
的值?
我的电话簿:
private Map<Character, Vector<Person> > phoneBook = new TreeMap<>();
public Vector<Person> getListPeople(Character character){
Vector<Person> vecPerson = phoneBook.values().iterator().next(); // should bring back the vector i want to use
System.out.println(vecPerson);
Iterator<Person> persons = vecPerson.iterator();
while(persons.hasNext()){
Person temp = persons.next();
if(temp.getName().startsWith("" + character)){
System.out.println(temp);
}
}
return vecPerson;
}
public String getIndividualNumber(String name){
Character myChar = name.charAt(0);
Vector<Person> personas = (Vector<Person>) getListPeople(myChar);
Iterator<Person> myItr = personas.iterator();
while (myItr.hasNext()){
Person temp = myItr.next();
if(temp.getName().equals(name)){
return temp.toString();
}
}
return null;
}
最佳答案
你可以这样做:
Vector<Person> v;
Map<Character, Person> dictionary= new TreeMap<>();
v.forEach(it -> dictionary.put(it.name.charAt(0), it));
关于java - 如何在 map 中使用已制作的 vector ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59161473/