Bonjour,
je veux faire un truc très simple :
[KEY, [ [id,id],[id,id],..],... ]
dois je utiliser Hasmap ou autre?
si vous avez un exemple de code pour faire ca je suis preneur ;)
Hervé
Version imprimable
Bonjour,
je veux faire un truc très simple :
[KEY, [ [id,id],[id,id],..],... ]
dois je utiliser Hasmap ou autre?
si vous avez un exemple de code pour faire ca je suis preneur ;)
Hervé
Une TreeMap par exemple :
Là j'ai fait une TreeMap<Integer, String> mais tu peux utiliser n'importe quel type (le type de la clé doit être comparable cependant). Par exemple TreeMap<String, ArrayList<String>> pour associé une liste d'élément à une clé.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 // Construction : TreeMap<Integer, String> treeMap = new TreeMap<Integer, String>(); // Ajout d'éléments : treeMap.put(4, "exemple 1"); treeMap.put(1, "exemple 2"); // Get : String s1 = treeMap.get(4); String s2 = treeMap.get(1); // Parcours : for(Map.Entry<Integer, String> element : treeMap.entrySet()) { int id = element.getKey().intValue(); String s = element.getValue(); }
Pour plus de détail voir la javadoc de TreeMap.
Ce n'est pas vraiment explicite mais bon...je pense que tu n'as qu'à faire comme ceci :Si tu veux un système de clé/valeur, il faut utiliser une HashMap<String, String[]> par exemple.Code:
1
2 String[][] tab = {{"toto", "titi"}, {"g"}, {"a", "b"}, {"tresg", "test"}}; System.out.println(tab[2][1]); // affiche b
Tu peux utiliser un vecteur et tu ajoute à chaque case tout type d'objet que tu veux, exemple:
L'avantage des vecteurs est que tu peux ajouter n'importe quel type d'objet au vecteur et tu ne fixe pas à priori une taille prédéfinie au vecteurCode:
1
2
3
4
5
6
7
8 Vector v=new Vector(); int tableau=new int[10]; // ajouter le tableau à la fin duvecteur v.add(tableau); // tu peux ajouter d'autre types d'objets au même vecteur comme les int, String int i=0; v.add(i);
A mon avis il faut de bons arguments pour motiver l'utilisation des tableaux... C'est affreux à utiliser et source de beaucoup d'erreurs.
La classe Vector est à proscrire, c'est un reste de Java 1.2 qui ne devrait plus être utilisé sauf besoin spécifique. Il faut utiliser à la place la classe ArrayList qui fournit les mêmes interfaces.
:arrow: Les méthodes de la class Vector sont synchronisées et cela abaisse les performances.