开发者社区> 问答> 正文

我可以在地图中有两个同名的钥匙吗?[重复]

我正在尝试创建一个TreeMap。以角色为关键。我试图通过在Person类型的Vector上运行来创建它。并从人名中获得第一个字母,并将其作为关键字放入地图中。例如:我有4个人,他们的名字以P开头。我想在向量上运行,并创建一个Map键为P的a 。

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)), );
        }

    }

我的问题是,它将Map为P字母创建1 ,并使用更多代码创建以P开头的人的Vector,还是以P为键创建类似于4的Map?

展开
收起
垚tutu 2019-12-04 16:58:24 818 0
1 条回答
写回答
取消 提交回答
  • #include

    否。A Map要求所有键都是唯一的。请在https://docs.oracle.com/javase/8/docs/api/java/util/Map.html中查看文档

    一个新的重复键将覆盖先前重复键的值,例如

    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}
    
    2019-12-04 16:58:37
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载