是否有类型存储值
<string,string,int>
如果我使用Namedlist(Solr),List可以实现吗?如果是这样如何使用。
还有其他方式吗?
示例:
<"A",America,code>
<"B",London,code>
我在java中需要这个
感谢提前
答案 0 :(得分:4)
为什么不创建由这些数据类型组成的类。示例:
class MyObject
{
int code;
String country;
String Flag;
// Getters and Setters goes here.
}
现在我们可以在List中使用这个类。
List<MyObject> list;
答案 1 :(得分:1)
public class Triple<T1, T2, T3> {
private T1 o1;
private T2 o2;
private T3 o3;
public Triple(T1 o1, T2 o2, T3 o3) {
this.o1 = o1;
this.o2 = o2;
this.o3 = o3;
}
public void setO1(T1 o1) {
this.o1 = o1;
}
public T1 getO1() {
return o1;
}
public void setO2(T2 o2) {
this.o2 = o2;
}
public T2 getO2() {
return o2;
}
public void setO3(T3 o3) {
this.o3 = o3;
}
public T3 getO3() {
return o3;
}
}
示例:
List<Triple<String, Integer, String>> list
= new ArrayList<Triple<String, Integer, String>>();
list.add(new Triple("tr1", 1, "Triple 1"));
list.add(new Triple("tr2", 2, "Triple 2"));
list.add(new Triple("tr3", 3, "Triple 3"));
答案 2 :(得分:0)
恕我直言,这取决于你将如何使用它。例如,如果您在使用country + flag时总是会查找代码(反之亦然),那么就可以将group + flag分组:
Map<Map<String,String>,Integer> myMap...
答案 3 :(得分:0)
我会这样写:
public class App {
public static void main(String[] args) {
Map<String, Location> map = new HashMap<String, Location>();
map.put("B", City.London);
}
}
enum City implements Location {
London(262);
private int code;
private City(int code) {
this.code = code;
}
@Override
public int getCode() {
return code;
}
}
interface Location {
int getCode();
}
这允许按主键搜索。并使常量像代码链接到位置常量。覆盖界面将允许放置不同的枚举常量/对象。