如何使用 Java 流将两个数组合并到一个映射中?

2023-11-23

假设我们有以下两个数组

String[] keys   = new String[] {"a", "b", "c", "aa", "d", "b"}
int[]    values = new int[]    { 1 ,  2 ,  3 ,  4  ,  5 ,  6 }

通过将这两个数组合并到 HashTable 中,我们得到以下结果

// pseudo-code
Map<String, Integer> dictionary = new HashTable<>(
  ("a"  => 1)
  ("b"  => 8) // because "b" appeared in index 1 and 5
  ("c"  => 3)
  ("aa" => 4)
  ("d"  => 5)
);

我们如何使用 java Lambda 风格来做到这一点?

到目前为止我有以下内容:

// this loops through the range given (used for index start and end)
// and sums the values of duplicated keys
tree.listMap = IntStream.range(range[0], range[1]).boxed().collect(
  Collectors.toMap(i - > dictionary[i], i - > i + 1, Integer::sum, TreeMap::new)
);

但是,我想采用 2 个数组,按键和值合并它们,其中值是重复键的所有值的总和。我们应该怎么做?


就这样:

Map<String,Integer> themap = 
       IntStream.range (0, keys.length).boxed()
                .collect (Collectors.toMap(i->keys[i],
                                           i->values[i],
                                           Integer::sum,
                                           TreeMap::new));

Output:

{a=1, aa=4, b=8, c=3, d=5}

这与您发布的代码片段非常相似,但由于某种原因,您发布的代码片段不包含对keys and values arrays.

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

如何使用 Java 流将两个数组合并到一个映射中? 的相关文章

  • Java EE:如何获取我的应用程序的 URL?

    在 Java EE 中 如何动态检索应用程序的完整 URL 例如 如果 URL 是 localhost 8080 myapplication 我想要一个可以简单地将其作为字符串或其他形式返回给我的方法 我正在运行 GlassFish 作为应
  • 如何找到给定字符串的最长重复子串

    我是java新手 我被分配寻找字符串的最长子字符串 我在网上研究 似乎解决这个问题的好方法是实现后缀树 请告诉我如何做到这一点或者您是否有任何其他解决方案 请记住 这应该是在 Java 知识水平较低的情况下完成的 提前致谢 附 测试仪字符串
  • 给定两个 SSH2 密钥,我如何检查它们是否属于 Java 中的同一密钥对?

    我正在尝试找到一种方法来验证两个 SSH2 密钥 一个私有密钥和一个公共密钥 是否属于同一密钥对 我用过JSch http www jcraft com jsch 用于加载和解析私钥 更新 可以显示如何从私钥 SSH2 RSA 重新生成公钥
  • 在 HTTPResponse Android 中跟踪重定向

    我需要遵循 HTTPost 给我的重定向 当我发出 HTTP post 并尝试读取响应时 我得到重定向页面 html 我怎样才能解决这个问题 代码 public void parseDoc final HttpParams params n
  • JAXb、Hibernate 和 beans

    目前我正在开发一个使用 Spring Web 服务 hibernate 和 JAXb 的项目 1 我已经使用IDE hibernate代码生成 生成了hibernate bean 2 另外 我已经使用maven编译器生成了jaxb bean
  • 使用 Tkinter 显示 numpy 数组中的图像

    我对 Python 缺乏经验 第一次使用 Tkinter 制作一个 UI 显示我的数字分类程序与 mnist 数据集的结果 当图像来自 numpy 数组而不是我的 PC 上的文件路径时 我有一个关于在 Tkinter 中显示图像的问题 我为
  • 无法展开 RemoteViews - 错误通知

    最近 我收到越来越多的用户收到 RemoteServiceException 错误的报告 我每次给出的堆栈跟踪如下 android app RemoteServiceException Bad notification posted fro
  • 列出jshell中所有活动的方法

    是否有任何命令可以打印当前 jshell 会话中所有新创建的方法 类似的东西 list但仅适用于方法 您正在寻找命令 methods all 它会打印所有方法 包括启动 JShell 时添加的方法 以及失败 被覆盖或删除的方法 对于您声明的
  • 反射找不到对象子类型

    我试图通过使用反射来获取包中的所有类 当我使用具体类的代码 本例中为 A 时 它可以工作并打印子类信息 B 扩展 A 因此它打印 B 信息 但是当我将它与对象类一起使用时 它不起作用 我该如何修复它 这段代码的工作原理 Reflection
  • Java按日期升序对列表对象进行排序[重复]

    这个问题在这里已经有答案了 我想按一个参数对对象列表进行排序 其日期格式为 YYYY MM DD HH mm 按升序排列 我找不到正确的解决方案 在 python 中使用 lambda 很容易对其进行排序 但在 Java 中我遇到了问题 f
  • 为什么HashMap不能保证map的顺序随着时间的推移保持不变

    我在这里阅读有关 Hashmap 和 Hashtable 之间的区别 http javarevisited blogspot sg 2010 10 difference Between hashmap and html http javar
  • JRE 系统库 [WebSphere v6.1 JRE](未绑定)

    将项目导入 Eclipse 后 我的构建路径中出现以下错误 JRE System Library WebSphere v6 1 JRE unbound 谁知道怎么修它 右键单击项目 特性 gt Java 构建路径 gt 图书馆 gt JRE
  • 如何从 appsettings.json 文件中的对象数组读取值

    我的 appsettings json 文件 StudentBirthdays Anne 01 11 2000 Peter 29 07 2001 Jane 15 10 2001 John Not Mentioned 我有一个单独的配置类 p
  • 如何从终端运行处理应用程序

    我目前正在使用加工 http processing org对于一个小项目 但是我不喜欢它附带的文本编辑器 我使用 vim 编写所有代码 我找到了 pde 文件的位置 并且我一直在从 vim 中编辑它们 然后重新打开它们并运行它们 重新加载脚
  • 使用日期 Swift 3 对字典数组进行排序

    我有一个名为 myArray 的数组 其中添加了字典 我希望该字典按时间排序 这是字典中的键 那个时间是在 String 中 时间的日期格式为 yyyy MM dd HH mm ss 我尝试使用下面的代码解决方案 但给出了 从 字符串转换
  • 在 Javascript 中连接空数组

    我正在浏览一些代码 我想知道这有什么用处 grid push concat row 根据我的理解 它等同于 grid push row 为什么要大惊小怪 连接 你想使用 concat当您需要展平数组并且没有由其他数组组成的数组时 例如 va
  • 有没有办法为Java的字符集名称添加别名

    我收到一个异常 埋藏在第 3 方库中 消息如下 java io UnsupportedEncodingException BIG 5 我认为发生这种情况是因为 Java 没有定义这个名称java nio charset Charset Ch
  • JGit 检查分支是否已签出

    我正在使用 JGit 开发一个项目 我设法删除了一个分支 但我还想检查该分支是否已签出 我发现了一个变量CheckoutCommand但它是私有的 private boolean isCheckoutIndex return startCo
  • java.lang.IllegalStateException:驱动程序可执行文件的路径必须由 webdriver.chrome.driver 系统属性设置 - Similiar 不回答

    尝试学习 Selenium 我打开了类似的问题 但似乎没有任何帮助 我的代码 package seleniumPractice import org openqa selenium WebDriver import org openqa s
  • 按日期对 RecyclerView 进行排序

    我正在尝试按日期对 RecyclerView 进行排序 但我尝试了太多的事情 我不知道现在该尝试什么 问题就出在这条线上适配器 notifyDataSetChanged 因为如果我不放 不会显示错误 但也不会更新 recyclerview

随机推荐

  • 根据向量中的值过滤数据框行

    当要删除的值存储在向量中时 从数据框中过滤行的最佳方法是什么 就我而言 我有一个包含日期的列 并且想要删除几个日期 我知道如何删除对应的行one日 使用 e g m m date 01 31 11 要删除向量中指定的多个日期 我尝试了 m
  • Android - 避免破坏活动,只需在按下后退按钮时停止或暂停它

    我想在按下后退按钮时暂停或将应用程序置于后台 我不希望应用程序经历销毁状态 事情是 当我覆盖 onKeyDown 时 当我使用 onPause 强制暂停或停止应用程序时 我遇到了唤醒锁和应用程序崩溃的一些问题 但是当我按下主页按钮时 我会执
  • 保持 ListView.HeaderTemplate 在 UWP 中可见/静态/粘性

    我需要保留HeaderTemplate of a ListView始终可见 但我不知道要设置什么 或者是哪个部分ListView的模板进行更改以执行此操作 我目前所拥有的导致了标题ListView向下滚动项目时滚动到顶部 我怎样才能保留标题
  • Visual Studio 2013/2015 无法加载 Azure 项目

    我刚买了一台新机器 在安装 VS2013 后 我也尝试了 VS2015 预览版 我们的一个项目无法打开 未找到该项目类型所基于的应用程序 请尝试此链接以获取更多信息 输出窗口提供了此链接 该链接毫无用处 并且在线搜索 GUID CC5FD1
  • 从 WPF 自定义 MarkupExtension 访问“当前类”

    我正在尝试编写一个自定义的MarkupExtension通过为我提供一种在 XAML 中指定绑定的更好方法 让我的生活变得更轻松 但是我想知道是否有任何方法可以访问代表该文件的对象MarkupExtension用于 换句话说 假设我有一个U
  • 在 OpenCV 中将向量转换为 mat

    我正在使用 opencv 2 4 3 使用以下代码执行向量到矩阵的转换 struct Component cv Rect box double area double circularity int main cv vector lt Co
  • Entity Framework 4.1 不会向 SQL Server Express 数据库添加任何行

    通过 SQL Server Express 使用 Entity Framework 4 1 mdf数据库 出于测试目的 我尝试在 WPF 应用程序中使用实体模型对 SQL Server Express 数据库执行 CRUD 操作 我对这个概
  • Scala-Slick 中外键的类型投影

    我正在使用 Scala 并且是 Play 和 Slick 的新手 我开始构建一个简单的数据库结构 并且不确定处理外键和投影的正确方法 在页面底部的示例中 它当前无法编译 因为无法直接提升外键 因此将查询结果提升到我的类型中的正确方法是什么
  • 数据库是在 Interbase 或 Firebird 的哪个版本下创建的?

    我有一个带有扩展名的文件 ib 我猜它要么是英特贝斯 or a Firebird文件 但我很难确定到底是哪个 此外 目前还不清楚具体是哪一个versionInterbase 或 Firebird 用于创建该文件 到目前为止我发现了什么 我尝
  • C# 中 list 的数据最大限制是多少?

    我可以向列表添加多少个值 例如 List
  • 如何创建boost phoenix make_shared?

    是否可以创建 boost Phoenix 的惰性变体std make shared 我的意思是 让类似的事情成为可能 namespace p boost phoenix expr custom parser a p make shared
  • 位运算符对 Java 中布尔值的影响

    按位运算符应该传输变量并逐位对其进行运算 对于整数 长整型 字符 这是有意义的 这些变量可以包含由其大小强制执行的全部值范围 然而 对于布尔值 布尔值只能包含两个值 1 真或 0 假 但布尔值的大小没有定义 它可以大到一个字节 也可以小到一
  • 如何在画布上移动矩形

    我在我的应用程序中使用 JavaScript 使用画布 我在画布上画了一个矩形 我想借助鼠标 例如移动滑块 移动矩形 如何使用 JavaScript 或 jQuery 移动该矩形 画布实际上只是您在其上绘画的表面 您绘画的任何东西都不是对象
  • 如何为Android创建触摸交互式图表[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 我的应用程序需要图表 其中
  • 无法在 CentOS 上安装 PHP 包

    我在数字海洋托管的服务器上通过 yum 重新安装 PHP 时遇到问题 我安装了 PHP 5 4 但想要 5 6 我添加 启用了 remi 存储库 然后运行yum y remove php 然后尝试重新安装php 当我跑步时yum y ins
  • 连接谷歌电子表格中的日期和时间

    我有一个脚本可以将电子表格中的事件导入日历中 function caltest1 var sheet SpreadsheetApp getActiveSheet var startRow 2 First row of data to pro
  • 循环遍历最多 k 位为 ON 的整数的最佳方法是什么?

    我需要循环遍历所有最多有 k 位 ON 位 1 的 n 位整数 其中 0 目前我正在使用这个简单的算法 for x 0 to 2 n 1 count number of bits 1 in x if count lt k do someth
  • Google 自定义搜索 API 的 OAuth2 范围

    我已经创建了 CSE 需要以编程方式更新促销活动 这是在后端系统中完成的 因此身份验证过程中的用户交互不是一种选择 可以通过 HTTP 使用自定义搜索 API 来更新促销活动 此过程需要身份验证令牌 他们的文档说自定义搜索仅支持 Clien
  • jsf 中没有会话生成

    在JSP中 有一个属性session用于禁用请求中的自动生成会话 有没有办法在 JSF2 中做同样的事情 Thanks 为什么 因为我们有一个公共注册表单页面作为应用程序中的默认页面 这是一个非常简单的表单 每次人们 或机器人等 请求主页时
  • 如何使用 Java 流将两个数组合并到一个映射中?

    假设我们有以下两个数组 String keys new String a b c aa d b int values new int 1 2 3 4 5 6 通过将这两个数组合并到 HashTable 中 我们得到以下结果 pseudo c