Java 值对集合? (元组?)

2023-12-12

我喜欢 Java 的 Map,您可以在其中定义映射中每个条目的类型,例如<String, Integer>.

我正在寻找一种集合类型,其中集合中的每个元素都是一对值。该对中的每个值都可以有自己的类型(如上面的 String 和 Integer 示例),该类型在声明时定义。

该集合将保持其给定的顺序,并且不会将其中一个值视为唯一键(如在映射中)。

本质上我希望能够定义类型的数组<String,Integer>或任何其他 2 种类型。

我意识到我可以创建一个只包含两个变量的类,但这似乎过于冗长。

我还意识到我可以使用 2D 数组,但由于我需要使用不同的类型,我必须将它们制作为 OBJECT 数组,然后我必须一直进行转换。

我只需要在集合中存储对,因此每个条目只需要两个值。不走阶级路线,这样的事情存在吗?谢谢!


AbstractMap.SimpleEntry

很容易你正在寻找这个:

java.util.List<java.util.Map.Entry<String,Integer>> pairList= new java.util.ArrayList<>();

怎样才能填满呢?

java.util.Map.Entry<String,Integer> pair1=new java.util.AbstractMap.SimpleEntry<>("Not Unique key1",1);
java.util.Map.Entry<String,Integer> pair2=new java.util.AbstractMap.SimpleEntry<>("Not Unique key2",2);
pairList.add(pair1);
pairList.add(pair2);

这简化为:

Entry<String,Integer> pair1=new SimpleEntry<>("Not Unique key1",1);
Entry<String,Integer> pair2=new SimpleEntry<>("Not Unique key2",2);
pairList.add(pair1);
pairList.add(pair2);

并且,在一个人的帮助下createEntry方法,可以进一步减少冗长:

pairList.add(createEntry("Not Unique key1", 1));
pairList.add(createEntry("Not Unique key2", 2));

Since ArrayList不是最终的,它可以被子类化以公开of方法(以及前面提到的createEntry方法),导致语法简洁:

TupleList<java.util.Map.Entry<String,Integer>> pair = new TupleList<>();
pair.of("Not Unique key1", 1);
pair.of("Not Unique key2", 2);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java 值对集合? (元组?) 的相关文章

  • Math.random() 解释

    这是一个非常简单的 Java 尽管可能适用于所有编程 问题 Math random 返回 0 到 1 之间的数字 如果我想返回零到百之间的整数 我会这样做 int Math floor Math random 101 在一到一百之间 我会这
  • Java 中类似 HashMap 的可排序数据结构?

    Java 中是否有某种类似于 HashMap 的数据结构 可以按键或值排序 在 PHP 中 您可以拥有可排序的关联数组 Java中有这样的东西吗 HashMaps 几乎按照定义是未排序的 一个好的哈希函数会产生看似随机的密钥分布 如果你想使
  • JAVA_HOME环境变量和Java JDK趣事

    我想让 Java 在 1 6xxx 上运行 我更改了 JAVA HOME 变量并将其指向目录 C Program Files Java jdk1 6 0 16 我重新启动 PC 我想我可以检查我的机器指向哪个版本的 Java 但它仍然指向旧
  • SWT:如何进行高质量图像调整大小

    我的应用程序需要调整 ImageData 的大小 不幸的是 我还没有通过 GC 开启抗锯齿和高插值 或 ImageData scaledTo 获得我想要的结果 生成的图像质量太低 无法接受 进行高质量 ImageData 调整大小的最佳方法
  • 如何在Java中使用我的密码加密和解密字符串(PC而非移动平台)? [复制]

    这个问题在这里已经有答案了 我想加密一个字符串然后将其放入文件中 当我想要的时候也想解密它 我不需要很强的安全性 我只是想让其他人更难获取我的数据 我尝试了几种方法 这是这些 Md5加密 如何在 Android 中对字符串进行哈希处理 ht
  • 如何将 Cucumber 中的数据表转换为对象列表?

    原标题 Java 中的 Cucumber DataTables 中的标量是什么意思 From 参考 Java 提供了几种标量类型 这些包括原始数字 类型 加上布尔值和字符 每个标量 原始 类型都有一个关联的包装类或 参考类型 阅读javad
  • Spring批量写入器限制

    我正在工作 Spring Batch 项目 从数据库读取记录然后写入rabbitmq 然后发送到HTTP消息网关 网关有150TPS我需要将我的应用程序限制为 150TPS 有没有办法带弹簧批的油门或者还有其他更好的方法吗 你能行的 在 S
  • 如何将 ArrayList 中的所有值相加或转换为 ArrayList

    我试图将 ArrayList 中的所有值相加 但没有任何方法可以让我得到总和 我必须找到从文本文件中提取的数字的平均值 public static void main String args throws IOException File
  • java.time.LocalDate 到 java.util.Date

    转换的最佳方式是什么java time LocalDate to java util Date Date from dateToReturn atStartOfDay ZoneId systemDefault toInstant 我一直在尝
  • LibGDX 闪烁

    我已经使用 LibGDX UI 设置来启动一个项目 我在实现 ApplicationListener 中唯一拥有的是 public void create setScreen new LoadingScreen this 这应该会触发 Lo
  • 声纳要求将这一领域定为最终目标

    我的程序中有以下代码 在与 Maven 集成后 我正在运行 SonarQube 5 对其进行代码质量检查 我面临这个错误 将此 public static processStatus 字段设为最终字段 将此 public static pr
  • 如何在不使用反射的情况下查看对象是否是数组?

    在Java中如何在不使用反射的情况下查看对象是否是数组 如何在不使用反射的情况下迭代所有项目 我使用 Google GWT 所以不允许我使用反射 我很想在不使用反射的情况下实现以下方法 private boolean isArray fin
  • Poi:从 xlsm 打开 Excel 文件后将其保存为 xlsx

    我正在编写一个java程序 它打开一个用户定义的excel文件 用数据填充它 然后将其保存在用户指定的路径 文件名和扩展名下 即使输入文件是 xlsm 也应该可以声明输出保存为 xlsx 但实际上是不可能的 如果我尝试使用下面的代码 打开文
  • SQLite 64位整数在jooq中被识别为int

    我有一个与 jOOQ 一起使用的 SQLite 数据库 当我使用 jOOQ 的代码生成工具时 它会按预期构建所有表和记录类 然而 所有的 SQLiteINTEGER列变成java lang Integer生成的代码中的字段 问题是 SQLi
  • 如何在 Java 中读取/转换 InputStream 为字符串?

    如果你有一个java io InputStream对象 您应该如何处理该对象并生成一个String 假设我有一个InputStream包含文本数据 我想将其转换为String 例如我可以将其写入日志文件 最简单的方法是什么InputStre
  • 什么会导致“IO错误java.net.SocketException:选择失败”?

    我的笔记本电脑上运行一个服务器程序 相同的路由器和相同的代码 它工作正常 客户端可以连接 然而 当我将工作区复制到我的电脑并运行它时 我得到了这样的废话 IO错误java net SocketException 选择失败 这是代码 publ
  • 如何保存/加载 BigInteger 数组

    我想保存 加载BigInteger数组传入 传出 SharedPreferences 如何做呢 例如对于以下数组 private BigInteger dataCreatedTimes new BigInteger 20 Using Gso
  • 我有什么理由应该嘲笑?

    我也是 Mockito 和 PowerMockito 的新手 我发现我无法使用纯 Mockito 测试静态方法 因此我需要使用 PowerMockito 对吗 我有一个非常简单的类 名为 Validate 使用这个非常简单的方法 publi
  • 如何管理一个 JInternalFrame 调用另一个 JInternalFrame?

    我有一个带有此代码的 JDesktopPane public class Menu extends JFrame implements ActionListener Creates new form Portada public stati
  • Java GridBagConstraints gridx 和 gridy 不工作?

    我正在尝试使用gridx and gridy定位我的按钮的约束 但它们不起作用 如果我改变gridx and gridy变量 什么也没有发生 如果我将填充更改为GridBagConstraints to NONE 仍然不行 我在这里错过了什

随机推荐

  • 将 null 放置在列表末尾

    我需要将空对象放置在末尾List 这是我为此目的所做的示例 public static void main String args List
  • 如何显示ProgressBar并使其进度?(Xamarin.Android)

    我调用一个 Web 服务 它获取 4 个文件 在加载这些文件时 我想向用户显示进度 圆形或水平都没关系 我已按照互联网上的示例进行操作 但屏幕上没有显示任何内容 MobileSellReference Service1 service ne
  • 有没有办法分析 Chromecast 崩溃?

    显然 崩溃后 端口 9222 上的开发者工具没有任何用处 因为 远程调试已因原因终止 websocket close 例如 我如何检索记录的时间线 或获取调用堆栈 或者找到有关 Chromecast 决定自行重启的原因的任何信息 调试 Ch
  • 在 JS 中移动元素

    我正在学习 javascript 并尝试做一个简单的练习 我有一个文本框并想用键盘控制它 我的 HTML 如下 目前 我只是尝试 1 个方向 const myBox document querySelector h1 document ad
  • D3 节点半径取决于链接数量:权重属性

    我正在尝试使用 D3 创建力定向图 就目前而言 节点的半径取决于核心价值JSON 中的对 d 尺寸 我知道d3 权重属性可用于计算链接数量并关联圆的半径属性 但我不知何故无法让它工作 请在这件事上给予我帮助 找到下面的代码 d3 json
  • “合并”替换 Keras/Tensorflow/Python3

    Merge 未在 Keras Tensorflow Python3 版本上运行 在以前的版本中 合并正在运行 但现在 它没有运行 所以我想我应该用替换 合并 来转换此代码 新的 Keras Tensorflow Python3 版本中缺少
  • 给定一个数组,找出每个元素的下一个较小元素

    给定一个数组 在不改变元素原始顺序的情况下 为每个元素找到数组中下一个较小的元素 例如 假设给定数组为 4 2 1 5 3 结果数组将为 2 1 1 3 1 我在一次采访中被问到这个问题 但我想不出比简单的 O n 2 解决方案更好的解决方
  • SQLite是否支持“删除自”

    这是 Microsoft SQL Server 的 T SQL 上的有效语法 但在 SQLite 中无效 是否有在 SQLite 中执行相同操作的替代语法 DELETE FROM something FROM something INNER
  • HTML元素的id属性在整个页面中必须是唯一的吗?

    我正在使用 jQuery 我只是想知道 ID 在整个页面中是否必须始终是唯一的 我知道课程可以重复多次 那么 ID 呢 是的 它必须是独一无二的 HTML4 https www w3 org TR html4 struct global h
  • 如果循环正在运行,wifi.sta 模块会连接吗?

    我试图检测模块何时实际连接到我的 wifi AP 因为 connect 没有回调 我做了如下简单的事情 wifi sta config SSID password wifi sta connect tmr delay 1000000 i 0
  • 在 es6 中添加行而不推送反应状态

    我不确定我做的是正确的事情 我在 setState 之外改变变量 这很好 对吧 或者有更优雅的方法来做到这一点 state persons name jay age 10 addRow gt const temp this state te
  • 对 asp-route-parameter 使用隐藏字段值

    我在 PartialView 中有一个隐藏字段 其中包含我想要的值 jQuery 填充它 我需要在 foreach asp route parameter 中使用相同的值 div class js products list div
  • 通过Id查询Morphia

    我正在使用 Morphia MongoDB 的 Pojo 映射器 我发现一项在我看来应该非常简单的任务很困难 通过 id 获取对象 我能够找到集合中的所有对象 但无法弄清楚使用从列表中获得的 id 进行查询的简单任务 我实际上是在谈论 Ob
  • 如何保护PHP中的配置文件?

    我正在开发一个 PHP 项目 为其他程序员开发模板引擎 这个想法很简单 将有一个包含模板的模板文件夹和一个包含页面的页面文件夹 php 获取模板并使用当前 url 将页面插入其中 几年前我在没有面向对象的情况下完成了这个项目 但现在我正在尝
  • InvalidOperationException:类型“System.Linq.Queryable”上的方法“Where”与提供的参数不兼容

    下面的代码已更新并且可以正常工作 LinqPad 有动态 OrderBy 示例 我想做的只是简单地对此示例应用 Where 而不是 OrderBy 这是我的代码 IQueryable query from p in Purchases wh
  • 将 csv 文件读入结构数组

    我开始用C编写代码 我的代码如下 include
  • 在 Google 地图之外保存地图实例

    我制作了一个谷歌地图 API HTML 脚本 当用户单击地图时 它会创建标记 我还集成了 Google 登录功能 因此用户是独一无二的并且拥有个人资料 我现在想要做到这一点 以便用户可以在他们想要的位置上创建标记 然后保存地图 以便他们稍后
  • 如何从用户输入中收集信息并将其应用到其他地方

    您好 我是编程新手 我正在尝试编写一个代码来从输入中收集信息并确定它是否是有效的字母表 这是我到目前为止的代码 words word input Character while word if word not in words words
  • TensorFlow 静态 C API 库 - 如何链接 10 个子依赖项?

    我正在尝试链接 TensorFlow 库的静态 C API 版本 我使用以下命令构建了静态库 get the sources git clone https github com tensorflow tensorflow git tens
  • Java 值对集合? (元组?)

    我喜欢 Java 的 Map 您可以在其中定义映射中每个条目的类型 例如