Java 如何存储这些值

Java 如何存储这些值,java,programming-languages,solr,types,Java,Programming Languages,Solr,Types,是否存在用于存储值的类型 <string,string,int> 如果我使用Namedlist(Solr),列出它可以实现吗?如果是,如何使用 还有别的办法吗 例如: <"A",America,code> <"B",London,code> 我需要这个用java写的 提前感谢为什么不创建一个由这些数据类型组成的类呢 例如: class MyObject { int code; String country;

是否存在用于存储值的类型

     <string,string,int>

如果我使用Namedlist(Solr),列出它可以实现吗?如果是,如何使用

还有别的办法吗

例如:

   <"A",America,code>
   <"B",London,code>

我需要这个用java写的


提前感谢

为什么不创建一个由这些数据类型组成的类呢

例如:

class MyObject
{
    int code;
    String country;
    String Flag;

    // Getters and Setters goes here.
}
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"));
现在我们可以在列表中使用这个类

List<MyObject> list;
列表;

为什么不创建一个由这些数据类型组成的类呢

例如:

class MyObject
{
    int code;
    String country;
    String Flag;

    // Getters and Setters goes here.
}
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"));
现在我们可以在列表中使用这个类

List<MyObject> list;
列表;
公共类{
私人T1 o1;
私人t2o2;
私人T3O3;
公共三联(T1 o1、T2 o2、T3 o3){
这1.o1=o1;
这是0.o2=o2;
这1.o3=o3;
}
公共空间集合1(T1 o1){
这1.o1=o1;
}
公共T1 getO1(){
返回o1;
}
公共空间设置o2(T2 o2){
这是0.o2=o2;
}
公共T2 getO2(){
返回氧气;
}
公共空间setO3(T3O3){
这1.o3=o3;
}
公共T3 getO3(){
返回o3;
}
}
例如:

class MyObject
{
    int code;
    String country;
    String Flag;

    // Getters and Setters goes here.
}
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"));
列表
=新的ArrayList();
添加(新的三元组(“tr1”,1,“三元组1”);
添加(新的三元组(“tr2”,2,“三元组2”);
添加(新的三元组(“tr3”,3,“三元组3”);
公共类{
私人T1 o1;
私人t2o2;
私人T3O3;
公共三联(T1 o1、T2 o2、T3 o3){
这1.o1=o1;
这是0.o2=o2;
这1.o3=o3;
}
公共空间集合1(T1 o1){
这1.o1=o1;
}
公共T1 getO1(){
返回o1;
}
公共空间设置o2(T2 o2){
这是0.o2=o2;
}
公共T2 getO2(){
返回氧气;
}
公共空间setO3(T3O3){
这1.o3=o3;
}
公共T3 getO3(){
返回o3;
}
}
例如:

class MyObject
{
    int code;
    String country;
    String Flag;

    // Getters and Setters goes here.
}
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"));
列表
=新的ArrayList();
添加(新的三元组(“tr1”,1,“三元组1”);
添加(新的三元组(“tr2”,2,“三元组2”);
添加(新的三元组(“tr3”,3,“三元组3”);

我认为这取决于您将如何使用它。例如,如果您在拥有country+flag(反之亦然)时始终查找代码,则将county+flag分组为:

  Map<Map<String,String>,Integer> myMap...
映射myMap。。。

我认为这取决于您将如何使用它。例如,如果您在拥有country+flag(反之亦然)时始终查找代码,则将county+flag分组为:

  Map<Map<String,String>,Integer> myMap...
映射myMap。。。

我会这样写:

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();
}
公共类应用程序{
公共静态void main(字符串[]args){
Map Map=newhashmap();
地图放置(“B”,伦敦市);
}
}
枚举城市实现位置{
伦敦(262);
私有整数码;
私人城市(国际代码){
this.code=代码;
}
@凌驾
公共int getCode(){
返回码;
}
}
接口位置{
int getCode();
}

这允许按主键进行搜索。并使常数像链接到位置的代码一样恒定。覆盖接口将允许放置不同的枚举常量/对象。

我将这样写:

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();
}
公共类应用程序{
公共静态void main(字符串[]args){
Map Map=newhashmap();
地图放置(“B”,伦敦市);
}
}
枚举城市实现位置{
伦敦(262);
私有整数码;
私人城市(国际代码){
this.code=代码;
}
@凌驾
公共int getCode(){
返回码;
}
}
接口位置{
int getCode();
}

这允许按主键进行搜索。并使常数像链接到位置的代码一样恒定。覆盖接口将允许放置不同的枚举常量/对象。

否,但您可以自己编写。否,但您可以自己编写。更好的是,提供一个构造函数来设置数据类型(而不是setter),并使它们成为
最终的
。几乎没有理由让这样的小对象可变。你能说怎么做吗。。很抱歉我是新手。。请提供一个例子。。。感谢所有
类MyObject{final int code;final String country;final String Flag;public MyObject(int code,String country,String Flag){this.code=code;this.country=country;this.Flag=Flag;}}
甚至更好-提供一个设置数据类型的构造函数(而不是setter)并使它们成为最终的
。几乎没有理由让这样的小对象可变。你能说怎么做吗。。很抱歉我是新手。。请提供一个例子。。。感谢所有
类MyObject{final int code;final String country;final String Flag;public MyObject(int code,String country,String Flag){this.code=code;this.country=country;this.Flag=Flag;}
为什么
@Override
getCode(),这只是一个接口的实现吗?如果有人从接口中删除这个方法,我会得到编译错误,并考虑从我的实现中删除它。为什么你<代码> >重写< /代码> GETCODE(),这只是一个接口的实现?如果有人从接口中删除这个方法,我会得到编译错误,并考虑从我的实现中删除它。