Java 我能在地图上有两把同名的钥匙吗?
我正在尝试创建一个Java 我能在地图上有两把同名的钥匙吗?,java,Java,我正在尝试创建一个树形图。以性格为关键。 我试图通过运行Person类型的向量来创建它。 然后从人名中获取第一个字母,并将其作为地图中的键。 例如: 我有4个人,他们的名字以P开头。 我想在向量上运行,并创建一个键为P的Map public class Phonebook{ static Vector<Map<Character, Vector<Person>>> mapVector = new Vector<>(); public vo
树形图
。以性格为关键。
我试图通过运行Person类型的向量来创建它。
然后从人名中获取第一个字母,并将其作为地图中的键。
例如:
我有4个人,他们的名字以P开头。
我想在向量上运行,并创建一个键为P的Map
public class Phonebook{
static Vector<Map<Character, Vector<Person>>> mapVector = new Vector<>();
public void makePhonebook(){
Iterator<Person> personIterator = PeopleDets.getPersons().iterator();
while (personIterator.hasNext()){
Person temp = (Person)personIterator.next();
mapVector.add(new TreeMap<>().put((temp.getName().charAt(0)), );
}
}
公共类电话簿{
静态向量mapVector=新向量();
公用电话簿(){
迭代器personIterator=PeopleDets.getPersons().Iterator();
while(personIterator.hasNext()){
Person temp=(Person)personIterator.next();
add(newtreemap().put((temp.getName().charAt(0)),);
}
}
我的问题是,它会为p字母创建1Map
,并使用更多的代码创建一个以p开头的人物向量,还是创建一个以p为键的类似4的Map
我能在地图上有两把同名的钥匙吗
否。Map
要求所有密钥都是唯一的。请查看以下位置的文档:
新的重复密钥将覆盖上一个重复密钥的值,例如
import java.util.HashMap;
import java.util.Map;
public class Main {
public static void main(String[] args) {
Map<String, String> map=new HashMap<String,String>();
map.put("A", "Apple");
map.put("A", "Anchor");
System.out.println(map);
}
}
答案是否定的。但是,根据你提供的例子,你可以查看。或者考虑一个排序列表,如果电话簿不是一个非常大的集合。
那么,如果我这样做,它会用这个键创建一个地图?或者它会抛出一个扣子吗?无论你试图链接到什么都不起作用…{A=Anchor}