[Java]Arraylist avec indice choisi
Fermé
silentData
Messages postés
183
Date d'inscription
jeudi 22 janvier 2009
Statut
Membre
Dernière intervention
18 octobre 2013
-
20 avril 2012 à 13:26
KX Messages postés 16754 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 22 avril 2012 à 15:59
KX Messages postés 16754 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 22 avril 2012 à 15:59
A voir également:
- [Java]Arraylist avec indice choisi
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Indice téléphonique - Guide
- Java décompiler - Télécharger - Langages
3 réponses
KX
Messages postés
16754
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 020
Modifié par KX le 20/04/2012 à 13:54
Modifié par KX le 20/04/2012 à 13:54
Pour ce que tu veux faire le mieux serait d'utiliser une Map.
Par exemple avec une HashMap<Integer,V>.
Remarque : "ArrayList (...) si j'ajoute un objet à l'indice 10, il me créera des objets aux indices inférieurs". Non, aucune des listes standards ne permet pas de faire ça. La méthode add(int,E) permet d'insérer un élément entre deux déjà existants (en décalant tout), mais renvoie un IndexOutOfBoundsException si tu donnes un indice supérieur à la taille de la liste.La confiance n'exclut pas le contrôle
Par exemple avec une HashMap<Integer,V>.
Remarque : "ArrayList (...) si j'ajoute un objet à l'indice 10, il me créera des objets aux indices inférieurs". Non, aucune des listes standards ne permet pas de faire ça. La méthode add(int,E) permet d'insérer un élément entre deux déjà existants (en décalant tout), mais renvoie un IndexOutOfBoundsException si tu donnes un indice supérieur à la taille de la liste.La confiance n'exclut pas le contrôle
silentData
Messages postés
183
Date d'inscription
jeudi 22 janvier 2009
Statut
Membre
Dernière intervention
18 octobre 2013
40
21 avril 2012 à 17:46
21 avril 2012 à 17:46
Hello...
Merci pour la réponse. En effet, j'avais tout d'abord pensé utiliser une Hashmap, cependant cette structure de donnée est spécialement lourde et mal conçue. Hors je sais que dans le cas d'un petit projet cela importe peu, cependant étant donné que mon projet et un laboratoire dans le cadre scolaire, mon prof n'aimera pas :P
J'avais me semble-t-il entendu parlé d'une forme de liste en Java qui permettait d'indicer comme bon semblait au développeur... Peut être me suis-je fourvoyé... Je vais revoir ma modélisation dans ce cas...
Merci pour ta réponse !
Merci pour la réponse. En effet, j'avais tout d'abord pensé utiliser une Hashmap, cependant cette structure de donnée est spécialement lourde et mal conçue. Hors je sais que dans le cas d'un petit projet cela importe peu, cependant étant donné que mon projet et un laboratoire dans le cadre scolaire, mon prof n'aimera pas :P
J'avais me semble-t-il entendu parlé d'une forme de liste en Java qui permettait d'indicer comme bon semblait au développeur... Peut être me suis-je fourvoyé... Je vais revoir ma modélisation dans ce cas...
Merci pour ta réponse !
KX
Messages postés
16754
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 020
21 avril 2012 à 17:57
21 avril 2012 à 17:57
"une HashMap (...) est spécialement lourde et mal conçue" !?
En voici une curieuse manière de voir les choses ! Une liste dans laquelle on ajoute des données ponctuellement et pour laquelle on laisse des trous là où il n'y a pas de données, ça c'est lourd et mal conçu ! Mais pour une HashMap je ne comprends pas, peut-être faudrait-il détailler tes arguments...
"une forme de liste en Java qui permettait d'indicer comme bon semblait au développeur"
Il me semble que cela existe en JavaScript, mais c'est parce que leurs "tableaux" sont en réalité... des tables de hachages !!! À croire que les concepteurs du JavaScript ont eux aussi fait le choix d'une technologie "lourde et mal conçue"...
Après si c'est un projet scolaire, et que ton prof n'accepte pas cette solution, c'est une autre histoire ;-)
En voici une curieuse manière de voir les choses ! Une liste dans laquelle on ajoute des données ponctuellement et pour laquelle on laisse des trous là où il n'y a pas de données, ça c'est lourd et mal conçu ! Mais pour une HashMap je ne comprends pas, peut-être faudrait-il détailler tes arguments...
"une forme de liste en Java qui permettait d'indicer comme bon semblait au développeur"
Il me semble que cela existe en JavaScript, mais c'est parce que leurs "tableaux" sont en réalité... des tables de hachages !!! À croire que les concepteurs du JavaScript ont eux aussi fait le choix d'une technologie "lourde et mal conçue"...
Après si c'est un projet scolaire, et que ton prof n'accepte pas cette solution, c'est une autre histoire ;-)
silentData
Messages postés
183
Date d'inscription
jeudi 22 janvier 2009
Statut
Membre
Dernière intervention
18 octobre 2013
40
21 avril 2012 à 18:24
21 avril 2012 à 18:24
La lourdeur des tables de hashage sont justement les dires de mon professeur. Il n'a pas argumenté, mais je ne vais pas contredire un docteur en informatique ;)
Quoiqu'il en soit, merci pour ton aide ;)
Quoiqu'il en soit, merci pour ton aide ;)
KX
Messages postés
16754
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 020
22 avril 2012 à 15:59
22 avril 2012 à 15:59
La classe HashMap n'est qu'une des implémentations de l'interface Map, mais il y en a d'autres, et en particulier la classe TreeMap qui est un arbre bicolore.