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

C#到Java-词典?

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

C#到Java-词典?

这将做您想要的:

Map<String,Integer> map = new HashMap<String, Integer>(){{    put("cat", 2);    put("dog", 1);    put("llama", 0);    put("iguana", -1);}};

该语句创建HashMap的匿名子类,与父类的唯一区别是在实例创建过程中添加了4个条目。在Java世界中,这是一个相当普遍的习惯用法(尽管有些人有争议,因为它创建了一个新的类定义)。

由于这一争议,从Java
9开始,有一个新的惯用法来方便地构建地图:静态Map.of方法家族。

使用Java 9或更高版本,您可以按以下方式创建所需的地图:

Map<String, Integer> map = Map.of(    "cat", 2,    "dog", 1,    "llama", 0,    "iguana", -1);

对于较大的地图,此替代语法可能不太容易出错:

Map<String, Integer> map = Map.ofEntries(    Map.entry("cat", 2),    Map.entry("dog", 1),    Map.entry("llama", 0),    Map.entry("iguana", -1));

(如果Map.entry是静态导入而不是显式引用的,则特别好)。

除了仅适用于Java 9+,这些新方法与以前的方法也不完全相同:

  • 它们不允许您指定使用哪种Map实现
  • 他们只创建不可变的地图
  • 他们不会创建Map的匿名子类

但是,对于许多用例而言,这些差异无关紧要,这使得它成为Java较新版本的良好默认方法。



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

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

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