如何在 Java 中实例化一组映射?

2023-12-24

我可以使用泛型声明映射数组来指定映射类型:

private Map<String, Integer>[] myMaps;

但是,我不知道如何正确实例化它:

myMaps = new HashMap<String, Integer>[count]; // gives "generic array creation" error
myMaps = new HashMap[count]; // gives an "unchecked or unsafe operation" warning
myMaps = (Map<String, Integer>[])new HashMap[count]; // also gives warning

如何实例化这个映射数组而不出现编译器错误或警告?

Update:

谢谢大家的回复。我最终同意了列表建议。


严格来说不是对您问题的回答,但您是否考虑过使用List反而?

List<Map<String,Integer>> maps = new ArrayList<Map<String,Integer>>();
...
maps.add(new HashMap<String,Integer>());

似乎工作得很好。

See Java 理论与实践:泛型陷阱 http://www.ibm.com/developerworks/java/library/j-jtp01255.html详细解释为什么不鼓励将数组与泛型混合。

Update:

正如德鲁在评论中提到的,使用收藏 http://java.sun.com/javase/6/docs/api/java/util/Collection.html接口而不是List。如果您需要更改为Set,或其他子接口之一Collection。示例代码:

Collection<Map<String,Integer>> maps = new HashSet<Map<String,Integer>>();
...
maps.add(new HashMap<String,Integer>());

从这个起点开始,你只需要改变HashSet to ArrayList, PriorityQueue,或任何其他实现的类Collection.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Java 中实例化一组映射? 的相关文章

  • Java 泛型/类型调度问题

    考虑以下程序 import java util List import java util ArrayList public class TypeTest public static class TypeTestA extends Type
  • Google Inbox 类似 RecyclerView 项目打开动画

    目前 我正在尝试实现 Google Inbox 例如RecyclerView行为 我对电子邮件打开动画很好奇 我的问题是 该怎么做 我的意思是 他们使用了哪种方法 他们用过吗ItemAnimator dispatchChangeStarti
  • Java 重写 hashCode() 得到 StackOverflowError

    所以我不太熟悉重写 hashCode 并且我似乎在 hashCode 方法中以某种方式进行了一些无限递归 这是我的场景 我有一个 DuplicateCache 类 它是一个缓存对象 用于检查系统中的重复对象 我有一个静态内部类 Duplic
  • Java:从元素创建 DOM 元素,而不是文档

    如您所知 在 Java 中创建 Dom 元素的正确方法是执行以下操作 import org w3c dom Document import org w3c dom Element Document d Element e e d creat
  • JavaFX - setVisible 隐藏元素但不重新排列相邻节点

    在 JavaFX 中 如果我有一个场景有 2VBox元素和每个VBox有多个Label in it 如果我设置顶部VBox to 无形的 为什么底部VBox 不向上移动顶部的场景VBox was The VBox is 无形的但我希望其他物
  • 使用 Java 在浏览器中下载 CSV 文件

    我正在尝试在 Web 应用程序上添加一个按钮 单击该按钮会下载一个 CSV 文件 该文件很小 大小仅约 4KB 我已经制作了按钮并附加了一个侦听器 文件也准备好了 我现在唯一需要做的就是创建单击按钮时下载 csv 文件的实际事件 假设 fi
  • Java替换特定字符

    这是我在这个网站上的第一个问题 所以我会尽量不要成为一个十足的菜鸟 我目前正在用java 创建刽子手游戏 所以我问你的问题是我们是否被赋予了 幽灵 这个词 并将 Ghost 替换为 hiddenWord ghost length for i
  • @EnableTransactionManagement 的范围是什么?

    我试图了解正确的放置位置 EnableTransactionManagement多个 JavaConfig 上下文的情况下的注释 考虑以下场景 我在 JPAConfig java 和 AppConfig java 中有 JPA 配置以及一组
  • 打印包含 JBIG2 图像的 PDF

    请推荐一些库 帮助我打印包含 JBIG2 编码图像的 PDF 文件 PDFRenderer PDFBox别帮我 这些库可以打印简单的 PDF 但不能打印包含 JBIG2 图像的 PDF PDFRenderer尝试修复它 根据 PDFRedn
  • 为什么 ConcurrentHashMap::putIfAbsent 比 ConcurrentHashMap::computeIfAbsent 更快?

    使用 ConcurrentHashMap 我发现computeIfAbsent 比putIfAbsent 慢两倍 这是简单的测试 import java util ArrayList import java util List import
  • 覆盖 MATLAB 默认静态 javaclasspath 的最佳方法

    MATLAB 配置为在搜索用户可修改的动态路径之前搜索其静态 java 类路径 不幸的是 静态路径包含相当多非常旧的公共库 因此如果您尝试使用新版本 您可能最终会加载错误的实现并出现错误 例如 静态路径包含 google collectio
  • 在 AKKA 中,对主管调用 shutdown 是否会停止其监督的所有参与者?

    假设我有一位主管连接了 2 位演员 当我的应用程序关闭时 我想优雅地关闭这些参与者 调用supervisor shutdown 是否会停止所有参与者 还是我仍然需要手动停止我的参与者 gracias 阻止主管 https github co
  • 如何为 Jackson 编写一个包罗万象的(反)序列化器

    当您提前知道类型时 编写自定义序列化器非常容易 例如 MyType一个人可以写一个MyTypeSerializer extends StdSerializer
  • 来自客户端的超时 Web 服务调用

    我正在使用 RestEasy 客户端调用网络服务 一项要求是 如果调用运行时间超过 5 秒 则中止 超时调用 我如何使用 RestEasy 客户端实现这一目标 我只看到服务器端超时 即如果在一定时间内未完成请求 Rest Easy 网络服务
  • 如何移动图像(动画)?

    我正在尝试在 x 轴上移动船 还没有键盘 我如何将运动 动画与boat png而不是任何其他图像 public class Mama extends Applet implements Runnable int width height i
  • 如何在列表框中显示字典

    我正在尝试将字典中的键 值对显示到列表框 Key Value A 10 B 20 C 30 我想以以下格式将它们显示在列表框中 A 10 B 20 C 30 使用以下代码我已经能够将 Listbox Datasource 链接到 Dicti
  • 如何使用 PHP 获取列中的所有值?

    我一直在到处寻找这个问题 但仍然找不到解决方案 如何从 mySQL 列中获取所有值并将它们存储在数组中 例如 表名称 客户 列名称 ID 名称 行数 5 我想获取此表中所有 5 个名称的数组 我该如何去做呢 我正在使用 PHP 我试图 SE
  • Java 编码风格、局部变量与重复方法调用

    我更喜欢使用局部变量而不是多次调用同一方法 I prefer this Vehicle vehicle person getVehicle if vehicle instanceof Car Car car Car vehicle car
  • 为什么 BufferedWriter 不写入文件?

    我有这个代码 String strings Hi You He They Tetrabenzene Caaorine Calorine File file new File G words txt FileWriter fWriter Bu
  • Spring Boot MSSQL Kerberos 身份验证

    目前在我的春季靴子中application properties文件中 我指定以下行来连接到 MSSql 服务器 spring datasource url jdbc sqlserver localhost databaseName spr

随机推荐

  • Jquery 选择器中的引号

    我读过几个关于类似问题的答案 人们总是说单引号和双引号之间没有区别 问题是我有一小行代码似乎很重要 li data type veg append v 这段代码做了我希望他做的事情 在链接末尾放置一个 v 但是这段代码 li data ty
  • ApacheConnectorProvider:泽西客户端 2.5.1

    Ref https jersey java net documentation latest user guide html d0e4337 https jersey java net documentation latest user g
  • 关于游戏循环、tick和实时编程的一些问题

    首先 我想为我的英语水平道歉 因为我是法国人 我目前正在使用 LWJGL 用 java 制作实时游戏 我有一些关于游戏循环的问题 我正在线程中运行渲染例程 这是不是一个好主意 通常 渲染例程相当慢 并且不应该减慢更重要的世界更新 滴答 例程
  • Xcode 3.1.4 中添加 -Wall 和 -Wextra 的位置

    我试图找出在 Xcode 中添加额外警告标志的位置 例如 Wall 和 Wextra 我在 Leopard 上使用版本 3 1 4 苹果的文档适用于旧版本 如果我按照他们的说明进行操作 它会将我带到与他们显示的完全不同的窗口 他们还提供了特
  • Highcharts - 指定堆叠时间序列的顺序

    Highcharts 有没有办法指定时间序列的堆叠顺序 我发现的唯一方法是在系列出现时订购它们 因此 如果我有 A B 和 C 系列 并且希望通过以下方式订购 B C A然后我将系列添加到B C A顺序使得系列 0 B 系列 1 C 系列
  • 如何从 scala/sbt/slf4j 项目中排除公共日志记录?

    我的 scala sbt 项目使用 grizzled slf4j 和 logback 第三方依赖项使用 Apache Commons Logging 对于 Java Maven 我将使用 jcl over slf4j 和 logback c
  • Android XML:投影被截断

    我有一个带有边距的相对布局和一个嵌套在该布局内的浮动操作按钮
  • 如何正确处理 ASP.Net Core 3 Web API 中的多个端点

    我有 2 种方法来处理 HTTP GET 请求 第一个方法用于int键入输入 另一个用于string类型输入 GET api Fighters 5 HttpGet id public async Task
  • 如果我在 MySQL 中存储 int(255) ,最大数量是多少?

    我在mysql中使用int 255 作为我的id 这够长吗 如果我有大约 1 000 000 条记录 谢谢 有些东西可能只是将其转换为int 11 为你 因为你不能在一个字符中包含 255 个可见数字int 最大值将为2147483647
  • 在 asp.net mvc 2.0 中使用 Html.DropDownListFor 助手时如何更改 id 值?

    我有这样的部分观点 现在您可以创建新产品并编辑现有产品 编辑和创建都使用相同的形式 加载时创建位于主页上 编辑会在 jQuery UI 模型对话框中弹出并呈现新的部分视图 因此 就页面而言 我有两个具有相同 id 的下拉框 这很糟糕 因为它
  • 向下滚动到页面图像时是否能够部分加载页面图像,或者只是效果?

    我在一些网站上注意到 例如http mashable com http mashable com当您打开页面并尝试滚动它时 它似乎在您到达它时加载图像 我不知道这是否只是闪烁效果 或者它确实是为了减少滚动到它之前的图像负载 这是一个帮助您入
  • Hbase-hadoop集成中datanode、regionserver的作用

    根据我的理解 行被插入到 HBase 表中 并作为区域存储在不同的区域服务器中 因此 区域服务器存储数据 类似地 就 Hadoop 而言 数据存储在 hadoop 集群中的数据节点中 假设我在 Hadoop 1 1 1 之上配置了 HBas
  • 仅当安装支持 Android 应用程序时 HTML 重定向到自定义协议

    我想让所有用于我的应用程序的 URI 启动我的应用程序 如果已安装 如果未安装 我想显示有关我的应用程序的网页 看了下面两个问题 还是找不到靠谱的解决办法 意图过滤器适用于 Google 但不适用于 Chrome 和 Facebook ht
  • Flask jsonify 在新行上打印结果

    第一次使用 Flask 我创建了一个非常基本的应用程序 我正在尝试打印推荐系统的结果 第一组代码来自我的 python 函数 print most similar 正在创建一个格式化字符串 希望在新行上打印每个 REC 代码的第二部分显然是
  • 如何将不同的输入放入 sklearn Pipeline 中?

    我正在使用 sklearn 的 Pipeline 对文本进行分类 在此示例管道中 我有一个 TfIDF 矢量器和一些用 FeatureUnion 包装的自定义功能和分类器作为管道步骤 然后我拟合训练数据并进行预测 from sklearn
  • LUA_MULTRET 未按预期工作

    This is almost的副本这个问题 https stackoverflow com questions 12528820 lual dostring puts nothing on the stack 但是 答案表明并不能解决我的问
  • 如何在单元测试中模拟JPA存储库的find方法

    我正在尝试 UT 我的小项目 但遇到了问题 我的应用程序使用简单的分层架构 我不能碰巧UT服务层 事实上我想嘲笑班级Crud存储库 https docs spring io spring data commons docs current
  • 错误参考错误:“ng build”时“缓冲区未定义”

    我正在尝试在我的角度组件 ts 中使用 Buffer 来编码授权字符串 它没有编译ng build 我试过npm i types node并将 node 添加到 tsconfig json 中的 types 字段 但错误仍然存 在 以下是错
  • 带参数的 Scala 传递函数

    将一个函数传递给另一个函数的 Scala 示例缺少传递的函数 timeFlies 采用参数 x 的情况 object Timer def oncePerSecond callback Int gt Unit while true callb
  • 如何在 Java 中实例化一组映射?

    我可以使用泛型声明映射数组来指定映射类型 private Map