我正在尝试找到一种简单/有效的方法来为我的应用程序在每个索引下存储多个值,例如:
return (int)Math.pow(10,x-1)
因此我可以将其设置为静态变量,然后可以通过单个索引值(每个对象中唯一的变量)从各种对象实例访问它。基本上,有点像“多维字典”。
我看过2D数组,但它们似乎仅限于单一数据类型(Int,string等),并且还查看了哈希映射 - 这似乎也有限,好像使用了两个以上的值,需要一个列表变量再次回到单一数据类型问题。有关这个简单解决方案的任何建议吗?
答案 0 :(得分:2)
为这些条目定义一个类,并使用一个对象数组。所以这个类可能是这样的:
class Thingy {
private int someNumber;
private String someString;
private boolean someBool;
private String someOtherString;
public Thingy(int _someNumber, String _someString, boolean _someBool, String _someOtherString) {
this.someNumber = _someNumber;
this.someString = _someString;
this.someBool = _someBool;
this.someOtherString = _someOtherString;
}
public int getSomeNumber() {
return this.someNumber;
}
// ...setter if appropriate...
// ...add accessors for the others...
}
...然后你做:
Thingy[] thingies = new Thingy[] {
new Thingy(54, "Some string", false, "Some other string"),
new Thingy(12, "Some string", true, "Some other string"),
new Thingy(18, "Some string", true, "Some other string")
};
答案 1 :(得分:0)
Python的主干很大程度上依赖于字典数据结构,可以使用__dict__
属性反映,分配和访问许多实例。如果你有一个经常需要访问十几个字典的模型,那么在Python中复制类似下面的内容会减少很多不必要的Java特性:
class ExampleObject:
spam = "example"
title = "email title"
content = "some content"
obj = ExampleObject()
print obj.spam # prints "example"
print obj.__dict__["spam"] # also prints "example"
为你准备一个替代选项。