Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1034 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [Java] ArrayList

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Java] ArrayList

n°2214908
redbox06
Posté le 03-01-2014 à 19:05:43  profilanswer
 

Bonjour,
 
je suis débutant en Java et je voudrais faire une fonction mais je bloque depuis pas mal de temps.
Donc j'aimerais faire une fonction qui rend un tableau d'entiers correspondant aux élements de l'arrayList d'Integer fournie entre les indices min et max inclus fournis.
En gros, copier dans un tableau d'entiers une partie de la liste mais je ne vois pas du tout comment faire ...
 
Avez vous une solution ?
 
Merci d'avance pour votre réponse
 
EDIT : j'ai bien trouvé une solution mais je ne sais pas si c'est correct mais ça fonctionne
 

Code :
  1. public int[] getTab(ArrayList list,int min,int max)
  2. {
  3.  int[]tab = new int[10];
  4.  List sousListe = list.subList(min, max);
  5.  for(int i =0;i<sousListe.size();i++)
  6.  {
  7.   tab[i] = (Integer) sousListe.get(i);
  8.   System.out.println(tab[i]);
  9.  }
  10.  return tab;
  11. }


Message édité par redbox06 le 03-01-2014 à 19:35:55
mood
Publicité
Posté le 03-01-2014 à 19:05:43  profilanswer
 

n°2214918
lasnoufle
La seule et unique!
Posté le 03-01-2014 à 23:41:47  profilanswer
 

Salut

 

Par definition, si ca fonctionne, ben c'est correct.

 

Apres si tu veux parler de "beaute du code" ou d'optimisation... Pas trop d'avis mais je peux faire quelques commentaires.

 

Le deux trucs que je ferais forcement remarquer si je voyais un code comme ca au boulot, c'est:
- l'initialisation de ton tableau a 10 elements en dur: si ton resultat en a moins, t'as des elements qui servent a rien et peuvent induire en erreur selon ce que tu fais du resultat. Si ton resultat est cense avoir plus de 10 elements, ton code va planter a l'execution -> tu devrais faire un new int[max-min+1] plutot qu'un new int[10]
- si tes parametres ne sont pas coherents (min et/ou max en dehors du "vrai" nombre d'elements de la liste) tu vas aussi planter - tu devrais soit faire une gestion d'exception dans ta fonction (i.e. verifier si min et max sont coherents par rapport a ta liste, et faire un traitement special le cas echeant), soit au pire indiquer que tu peux renvoyer une exception (pour forcer l'appelant a gerer les cas a probleme).

 

Apres quelques autres remarques, mais c'est plutot du chipotage:
- ArrayList est un type specifique de liste - tu pourrais facilement rendre ta fonction utilisable avec tout type derive de List en changeant ton parametre (surtout que tu utilises toi meme une List dans le code).
- en Java "recent" c'est bien vu de declarer ton type de liste - dans ton cas, ArrayList<Integer> list et List<Integer> sousListe (mais si t'as un vieux JDK ca reconnaitra pas cette syntaxe)
- la conversion de sousListe.get(i) d'un Integer en un int (dans ta boucle) est couverte silencieusement par Java mais un code "bien ecrit" la ferait apparaitre explicitement pour eviter tout malentendu
- tu pourrais aussi eviter de recourir a une sous-liste et sortir les elements directement de ta liste (par exemple avec une boucle for(int i=min, i<=max; i++)). Mais soyons honnetes, ca n'est pas forcement plus rapide a l'execution (ca depend de comment la liste est implementee)

 

J'pense que c'est tout...

 

A+


Message édité par lasnoufle le 03-01-2014 à 23:43:29

---------------
C'était vraiment très intéressant.

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [Java] ArrayList

 

Sujets relatifs
Projet de fin d'année. (Java,Html,MySQL,PHP)Aide tri par selection java's cool
activer un bouton radio à partir d'un autre bouton radio en javaJava - système de réservation de restaurant
Java et arraylist d'objets[java] Une string en arraylist ?
[Java] supprimer les cases null d'un ArrayList[Java] Recuperer le type de l'objet d'une Arraylist
[Java] Problème (simple ??!) d'ArrayList[Résolu] Java - Jsp - ArrayList dans ArrayList
Plus de sujets relatifs à : [Java] ArrayList


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR