编程语言
首页 > 编程语言> > java-哪种数据结构适合存储三个相关值?以及如何实施?

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();

在您的情况下,可以将三个值包含在这样的对象(PO​​JO)中,然后可以在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