Java 中的 NamedTuple 替代方案是啥?

Posted

技术标签:

【中文标题】Java 中的 NamedTuple 替代方案是啥?【英文标题】:What is the NamedTuple alternative in Java?Java 中的 NamedTuple 替代方案是什么? 【发布时间】:2019-04-08 11:55:49 【问题描述】:

我正在尝试将一些 python 代码转换为 java,我遇到的障碍之一是使用命名元组。似乎 Java 不使用元组,所以我想知道我可以使用什么作为替代方案。

#part of the python code:

@staticmethod
def stream_file(fieldnames, id):
   tuple = namedtuple("RECORD", " ".join(fieldnames))
   ...
   data = [x for x in arr]
   yield tuple._make(data)

【问题讨论】:

它是一个 Maven 项目吗?如果是这样,您可以使用 this maven 依赖项并使用 Java 元组。如果不是 maven 项目,则使用 numenta 并在您的项目中扩展 Tuple 类或 NamedTuple 【参考方案1】:

您可以使用Map。有不同的实现,都有不同的优势。

HashMap 提供基于哈希键的映射,这是 Java 中所有对象所固有的。

TreeMap 更好,如果您想通过可比较的值(如字符串)定义身份。

地图可以按类型输入,但不能按值。我相信,您正在寻找的是 TreeMap<String, Object>,它允许您从字符串(标识符或 id)映射到对象。然而,对象的类型大多是匿名的,你可能需要很多instanceof。不过,这似乎满足您的要求。

【讨论】:

以上是关于Java 中的 NamedTuple 替代方案是啥?的主要内容,如果未能解决你的问题,请参考以下文章

在使用替代方案的 Linux 系统上,JAVA_HOME 的正确路径是啥?

用于开发 iPhone 推送通知服务的 Google App Engine 的 Java 替代方案是啥?

JPQL 中的 LIMIT 子句替代方案是啥?

HTTP/2 世界中的 WebSockets 替代方案是啥?

Angular2 GA/Final Release 中的 ControlGroup 和 Control 的替代方案是啥?

gtalk 停止支持 xmpp。将 gmail 聊天集成到 android 应用程序中的替代解决方案是啥?