java-哪种数据结构适合存储三个相关值?以及如何实施?
作者:互联网
我有
[0][11011] = 0.7;
[32][11101] = 0.3
其中第一个值是整数位置,第二个唯一字符id,第三个是该结构本身的值.
哪种数据结构适合存储三个值?
假设我有set1:
[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
我想从set1的set2 11011搜索中获取字符串值,如果它例如在位置32上匹配,则将其分配给该结构值0.7而不是0.5.
因此,我需要知道哪种数据结构对此有用.以及如何实施?
解决方法:
在Java中,很容易将这三个值包装在Object中.
例如:
public class TestObject {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
private int id;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
}
在这里,您有一个TestObject类型的对象,该对象包含两个值(两个primitive类型的int和String-您可以以完全相同的方式包装任何类型的Object).
一旦对象为initialized(实例化),就可以设置并获取这些值.
TestObject obj = new TestObject();
obj.setId(1);
obj.setName("George");
找回价值:
String name= obj.getName();
int id=obj.getId();
在您的情况下,可以将三个值包含在这样的对象(POJO)中,然后可以在Collection中包含很多这些对象.
简便高效的IMO收集类型是ArrayList,尽管这不是限制性的.
您可以像这样在ArrayList中添加对象:
java.util.ArrayList<TestObject> list = new ArrayList<TestObject>();
list.add(obj);
您可以像这样通过循环从列表中检索对象:
for(TestObject x:list){
int id=x.getId();
String name=x.getName();
}
标签:data-structures,arrays,java 来源: https://codeday.me/bug/20191122/2061028.html