当前位置: 首页 > 知识库问答 >
问题:

如何用流API在Java中将Array转换为HashMap

姜乐家
2023-03-14

我知道如何使它与每一个,但我希望有它在集合。to映射,任何帮助都将不胜感激

final String[] headerDisplayName = getHeaderDisplayName(harmonizationComponentDataFixRequest);

IntStream.of(0, headerDisplayName.length).collect(Collectors.toMap(Function.identity(), index-> headerDisplayName[index]));

共有1个答案

卢杰
2023-03-14

您可以将range方法与IntStreamboxed方法结合使用。

(当您使用方法的时,该流中只有0和数组的大小。此外,这将导致ArrayIndexOutOfBoundsException)

可能的解决方案如下所示(包含range方法的第一个参数,排除第二个参数)

Map<Integer, String> map = IntStream.range(0, headerDisplayName.length)
        .boxed()
        .collect(Collectors.toMap(
                Function.identity(), 
                i -> headerDisplayName[i])
        );

 类似资料:
  • 问题内容: 我正在尝试 通过使用opencv java api 实现以下问题的示例代码 。为了用Java 实现,我使用了这种语法。 因此,现在轮廓应为而不是。 然后我需要实现这个。在java api中,Imgproc.approxPolyDP将参数接受为。我如何将MatOfPoint转换为MatOfPoint2f? 或者有没有办法使用与c ++接口相同的向量来实现这一点。任何建议或示例代码将不胜感

  • 问题内容: 我有一个第三方图书馆给我一个图书馆。我想像Java 8那样懒惰地使用该枚举,并调用诸如此类的东西。 有没有现成的图书馆?我已经在引用Guava和Apache Commons,所以如果其中任何一个都有理想的解决方案。 另外,在保留所有内容的懒惰性质的同时将a 变成最佳/最简单的方法是什么? 问题答案: 这个答案已经提供了一个解决方案,可以解决以下问题: 应当强调的是,由此而来 的 懒任何

  • 我有一个第三方库,它给我一个。我希望将该枚举作为Java8来使用,在其上调用诸如、和之类的东西。 是否有一个现有的库中包含此内容?我已经引用了Guava和Apache Commons,所以如果其中任何一个都有理想的解决方案。 或者,将转换为同时保留所有内容的惰性的最佳/最简单的方法是什么?

  • 问题内容: 有什么方法可以将普通的Java数组或Android中的Json数组转换为将JSON对象传递给Web服务吗? 问题答案: 如果您希望或需要使用Java数组,则可以始终使用实用程序类的静态方法将数组转换为。 遵循这些原则的东西应该起作用。 请注意,这些代码是临时编写的,因此请考虑使用伪代码。

  • 问题内容: 我是Java的新手,想知道double转换为int cast如何工作吗?我知道,只需将低32位转换为int就很容易了,但是将double(64位)转换为int(32位)呢?来自二进制的double中的那64位是Double- precision浮点格式(Mantissa),那么它如何在内部转换为int? 问题答案: 所有这些都记录在JLS的5.1.3节中。 第一步,将浮点数转换为lon

  • 问题内容: 我正在寻找一种将a 转换为或更具体地以将“迭代器”作为流“查看”的简洁方法。 出于性能原因,我想避免在新列表中复制迭代器: 根据评论中的一些建议,我也尝试使用: 但是,我得到了(因为没有调用hasNext) 我已经看过和,但我没有发现任何东西。 问题答案: 一种方法是从迭代器创建一个拆分器,并将其用作流的基础: 一个可能更易读的替代方法是使用Iterable-使用lambda从Iter