2011-06-10 2 views
1

est là le type est là pour stocker la valeurComment stocker ces valeurs

 <string,string,int> 

si j'utilise Namedlist (Solr), la liste peut être atteint? si oui, comment utiliser.

Toute autre façon est là?

exemple:

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

Je en ai besoin en java

MERCI À L'AVANCE

+2

Non, mais vous pourriez l'écrire vous-même. – mdm

Répondre

4

Pourquoi ne pas créer une Compose de classe de ces types de données.

Exemple:

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

    // Getters and Setters goes here. 
} 

Maintenant, nous pouvons utiliser cette classe dans une liste.

List<MyObject> list; 
+2

Encore mieux - fournissez un constructeur qui définit les types de données (au lieu de setters) et les rend 'final'. Il y a presque aucune raison de faire un petit objet comme celui-ci mutable. –

+0

pouvez-vous dire comment faire .. désolé .. je suis nouveau pour le faire .. pls fournir un exemple d'exemple ... Merci pour tous –

+0

Can pls fournir un exemple –

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

Exemple:

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

à mon humble avis, il dépend de la façon dont vous l'utiliserez. Par exemple, si vous avez toujours l'air pour le code lorsque vous avez pays + drapeau (et vice versa), il fait sence dans le comté de groupe + drapeau:

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

Je voudrais écrire comme ceci:

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

Ceci permet de rechercher par clé primaire. Et rend constante comme le code lié à l'emplacement constant. L'interface de couverture permettra d'y mettre différentes constantes/objets enum.

+0

Pourquoi vous' @ Override' le getCode(), il est seulement une implémentation d'une interface? – Thor

+1

Si quelqu'un supprime cette méthode de l'interface, j'obtiendrai une erreur de compilation et envisagerai de la supprimer de mon implémentation. – teodozjan

+0

Ah, compris! Je vous remercie. – Thor

Questions connexes