Как хранить эти значения - PullRequest
1 голос
/ 10 июня 2011

есть тип для хранения значения

     <string,string,int>

если я использую Namedlist (Solr), List это может быть достигнуто? если да, то как использовать.

Есть ли другой способ?

пример:

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

Мне нужно это в Java

СПАСИБО ЗА ПРЕДЕЛА

Ответы [ 4 ]

4 голосов
/ 10 июня 2011

Почему бы вам не создать класс, составленный из этих типов данных.

Пример:

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

    // Getters and Setters goes here.
}

Теперь мы можем использовать этот класс в списке.

List<MyObject> list;
1 голос
/ 10 июня 2011
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"));
0 голосов
/ 10 июня 2011

Я бы написал так:

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

Это позволяет осуществлять поиск по первичному ключу.И делает константу как код, связанный с константой местоположения.Интерфейс покрытия позволит помещать туда разные константы / объекты перечисления.

0 голосов
/ 10 июня 2011

ИМХО это зависит от того, как вы будете его использовать.Например, если вы всегда будете искать код, когда у вас есть страна + флаг (и наоборот), имеет смысл сгруппировать страну + флаг:

  Map<Map<String,String>,Integer> myMap...
...