栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

相当于C#Java HashMap

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

相当于C#Java HashMap

Dictionary
可能是最接近的。
System.Collections.Generic.Dictionary
实现
System.Collections.Generic.IDictionary
接口(类似于Java的
Map
接口)。

您应该注意一些明显的区别:

  • 添加/获取项目
    • Java的HashMap具有用于设置/获取项目的
      put
      get
      方法
    • myMap.put(key, value)
    • MyObject value = myMap.get(key)
    • C#的词典使用
      []
      索引来设置/获取项目
    • myDictionary[key] = value
    • MyObject value = myDictionary[key]
  • null
    • Java
      HashMap
      允许空键
    • 如果您尝试添加空键,.NET会
      Dictionary
      引发
      ArgumentNullException
  • 添加重复密钥
    • Java
      HashMap
      将用新值替换现有值。
    • Dictionary
      如果使用
      []
      索引,.NET 将用新值替换现有值。如果使用该
      Add
      方法,它将抛出一个
      ArgumentException
  • 尝试获取不存在的密钥
    • Java
      HashMap
      将返回null。
    • .NET
      Dictionary
      会抛出一个
      KeyNotFoundException
      。您可以使用该
      TryGetValue
      方法而不是
      []
      索引来避免这种情况:
      MyObject value = null; if (!myDictionary.TryGetValue(key, out value)) {  }

Dictionary
ContainsKey
方法可以帮助解决前面的两个问题。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/449670.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号