每个元素有 2 个值的 Java 列表

标签 java

我需要一个列表,其中每个元素必须有 2 个值。
我想知道实现它的最佳方法是什么。
我应该使用 HashSet , HashMap或其他什么?

该列表应如下所示 -
<Elem1_val1, Elem1_val2>, <Elem2_val1, Elem2_val2>, <Elem3_val1, Elem3_val2>, .... <Elemn_val1, Elemn_val2>,
这里的重点是 val1 和 val2 属于同一个元素。
什么是实现这一点的好方法?

更新:

  • 任何人都可以评论实现 - List<Map.Entry<ClassA, ClassB>>
  • 我不想有新的类,因为我只想存储 2 个对象
    在一个列表中的一些相互关系。

  • 谢谢 !

    最佳答案

    最好的方法是使用带有类似 Pair 的类的列表。作为元素。

    如果你不知道你的 vals 的类,你可以将它声明为

    List<Pair> list = new ArrayList<Pair>();
    

    如果您知道对象的类,则可以将列表声明为
    List<Pair<ClassA, ClassB>> list = new ArrayList<Pair<ClassA, ClassB>>();
    

    这是an example of a generic Pair implementation .

    关于每个元素有 2 个值的 Java 列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13056157/

    相关文章:

    java - spring data redis 文档示例不起作用

    java - 使用 CMake 时如何在 Gradle 构建脚本中设置 NDK 路径?

    java - thymeleaf 模板中 Web 上下文对象的调用方法问题

    java - 用于 Java 的 Eurekalog

    java - Hibernate Table 未找到、MappingException 和 AssertionException

    java - OSX Yosemite - JVM 共享库不包含 JNI_CreateJavaVM 符号

    java - Minecraft 模组 - 如何在服务器端使用 setBlock?

    java - 深度优先搜索提前终止

    Java Swing OSX 窗口菜单复选标记

    java - 如何从较大的 ByteBuffer 中读取较小的 ByteBuffer?