Java 哪种数据结构适合存储三个相关值?如何实施?

Java 哪种数据结构适合存储三个相关值?如何实施?,java,arrays,data-structures,Java,Arrays,Data Structures,我有 其中第一个值是整数位置,第二个是唯一字符id,第三个是此结构本身的值。 哪种数据结构适合存储三个值 假设我有set1: [0][11011] = 0.7; [32][11101] = 0.3 我想从set1中的set2 11011搜索中获取字符串值,如果它与位置32匹配,则将该结构值赋值为0.7,而不是0.5。 所以我需要知道哪种数据结构对此有用。如何实现?在java中,将这三个值封装在一个对象中很容易 例如: [0][11111] = 0.5; [16][11110] = 0.5

我有

其中第一个值是整数位置,第二个是唯一字符id,第三个是此结构本身的值。 哪种数据结构适合存储三个值


假设我有set1:

[0][11011] = 0.7; 
[32][11101] = 0.3
我想从set1中的set2 11011搜索中获取字符串值,如果它与位置32匹配,则将该结构值赋值为0.7,而不是0.5。
所以我需要知道哪种数据结构对此有用。如何实现?

在java中,将这三个值封装在一个对象中很容易

例如:

[0][11111] = 0.5; 
[16][11110] = 0.5; 
[32][11011] = 0.5; 
[48][10111] = 0.5; 

And I have set2 
[0][11011] = 0.7; 
[1][11101] = 0.3
这里有一个TestObject类型的对象,它包含两个值(两种类型
int
String
——可以完全相同的方式包含任何类型的对象)。 一旦对象被实例化,就可以设置和获取这些值

找回价值观:

TestObject obj = new TestObject();
obj.setId(1);
obj.setName("George");
在您的例子中,您可以将这三个值包含在像这样的对象(POJO)中,然后您可以将这些对象包含在一个对象中。 IMO是一种简单而高效的集合类型,尽管它没有限制性

您可以在
ArrayList
中添加对象,如下所示:

String name= obj.getName();
int id=obj.getId();
java.util.ArrayList<TestObject> list = new ArrayList<TestObject>();
list.add(obj);

检查示例实现。此集合的要求是什么?第一个值是整数值索引。就像在阵列中一样。第二个值是唯一的字符串id。最后一个值是数值。我将有两个类似的结构。稍后,我想获取字符串id并在数组中搜索,该数组类似于[int][11111]格式,因此,如果字符串模式匹配,我希望为该数组指定特定值。那么,在检索您将使用的值时?索引还是字符串?还是两者都有?我编辑了我的问题并添加了示例。我将在另一个集合2中用作查询的字符串值2。若该字符串将与set2中的另一个字符串匹配,那个么我将重新设置当前集合的值分配给该set2实例。
java.util.ArrayList<TestObject> list = new ArrayList<TestObject>();
list.add(obj);
for(TestObject x:list){
  int id=x.getId();
  String name=x.getName();
}