Comment marche toArray() de java.util.ArrayList() ?
Pratana
Messages postés77Date d'inscriptionjeudi 1 avril 2004StatutMembreDernière intervention19 avril 2018
-
12 août 2004 à 16:49
Pratana
Messages postés77Date d'inscriptionjeudi 1 avril 2004StatutMembreDernière intervention19 avril 2018
-
13 août 2004 à 11:04
jai pas trop saisit comment ca marche en fait.
j'essaye de classer une ArrayList constitué d'objet diverse. (regardez mon code) et de classer ca par ordre numérique "point"
je me demande si avec toArray() j'y arriverais ?
--------------
mon code :
--------------
//mon objet carte :
class cards {
int point;
int couleur;
int valeur;
boolean selected;
}
//programme principal
class programme{
//créer un paquet
ArrayList Paquet= new ArrayList();
void init(){
for( int i=0; i<32; i++){
cards Temp = new cards();
Temp.point = (int)Math.Random() * 32;
Temp.couleur = (int)Math.floor(Temp.point / 4);
Temp.valeur = Temp.point - (Temp.couleur * 8);
Paquet.add( Temp );
}
}
//y a d'autre code ici sans rapport.
}
--------------
j'utilise une variable boolean pour marquer des cartes afin de les enlever du jeu plus tard. j'ai essayé des boucles for et do pour les enlever tous d'un coup mais ca plante. il ya une fonction dans arrylist qui permet d'enlever un meme type d'objet de la liste ?
ici je voudrais enlever tous ceux qui sont à selected true...
si quelqu'un peut me renseigner à ce sujet, ça m'avancera beaucoup.
ps : je suis en train de programmer un jeu de "belote découverte" pour ceux que ca intérressent...
-----------------------------------------------------------
C est pas une balle dans le bras qui me fera plier le genou...
cs_neodante
Messages postés2835Date d'inscriptionlundi 11 août 2003StatutModérateurDernière intervention16 décembre 200611 12 août 2004 à 18:33
:big) Neodante :big)
Tu connais les itérateurs -> 'iterator' qui va te permettre de parcourir ta collection (arraylist) sans aucune erreur bien que les for et while ne devraient pas poser de problèmes !
Je me garde de mettre le code pour retirer les objets .. au pire regarde la javadoc ! ;-)
@+
Pratana
Messages postés77Date d'inscriptionjeudi 1 avril 2004StatutMembreDernière intervention19 avril 2018 12 août 2004 à 19:58
iterator? je connais pas trop. j'essayerais.
sinon je fais qu'avec des do ou des for, mais ça plante à un moment et ca me prend la tête ...
voici sur quoi je suis :
-------------
int nb = 0;
while( nbCardSel > 0 && nb < ply[Num].hand.size() ){
cards Temp = (cards)paquet.get(i);
if( Temp.select == 1 ){
//effacer cette carte de la main
paquet.remove( nb );
nbCardSel--;
}
nb++;
}
--------------
nbCardSel est le nombre de carte que j'ai selectionnées...
---------------
concernant les cartes, j'ai les 64 cartes format 71*96 ou bien 54*72 en 19 couleures. elles sont communes. de la à etre belles, c'est une question de gout
-----------------------------------------------------------
C est pas une balle dans le bras qui me fera plier le genou...
Pratana
Messages postés77Date d'inscriptionjeudi 1 avril 2004StatutMembreDernière intervention19 avril 2018 13 août 2004 à 11:04
yes !! voilà, j'ai trouvé: en fait j'ai pas redimensionné mon arraylist() avec trimToSize() après avoir effacé une valeur. alors à un moment, ça dépassait la capacité.
J'aime pas les insectes !...
-----------------------------------------------------------
C est pas une balle dans le bras qui me fera plier le genou...