salut je voudrais savoir comment faire pour générer tous les entiers d'une borne. Avec mon exemple de 13 à 91253.
j'ai essayer avec :
int n = (Math.random()* 91252 + 13);
mais sa ne génère qu'un entier au hasard.
Pouvez-vous m'aider ?!
salut je voudrais savoir comment faire pour générer tous les entiers d'une borne. Avec mon exemple de 13 à 91253.
j'ai essayer avec :
int n = (Math.random()* 91252 + 13);
mais sa ne génère qu'un entier au hasard.
Pouvez-vous m'aider ?!
Tu crées une structure pour stocker tes entiers (List ou Set par exemple), puis tu fais un parcours basique pour générer les entiers entre tes deux bornes.
Dans ton cas, ce sera :
Concernant Math.random, c'est tout à fait normal que cela te renvoi un nombre aléatoire, c'est le but de cette méthode, cf javadoc.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 List<Integer> listEntier = new ArrayList<Integer>(); for (int i = 13 ; i < 91252 ; ++i) listEntier.add(i);
C'est Android, PAS Androïd, ou Androïde didiou !
Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.
Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.
N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android
ceci sera quand même plus performant
voir carément:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 List<Integer> listEntier = new ArrayList<Integer>(91252-13); for (int i = 13 ; i < 91252 ; ++i) listEntier.add(i);
qui occupera bien moins de mémoire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 int[] listEntier = new int[91252-13]; for (int i = 13 ; i < 91252 ; ++i) listEntier[i-13] =i;![]()
Intéressant...
Pourrais-tu expliquer pourquoi la déclaration du champ de valeur dans l'ArrayList rend le traitement aval plus performant ?
Donc dans ce cas précis, pourquoi :
est mieux que :
Code : Sélectionner tout - Visualiser dans une fenêtre à part List<Integer> listEntier = new ArrayList<Integer>(91252-13);
?
Code : Sélectionner tout - Visualiser dans une fenêtre à part List<Integer> listEntier = new ArrayList<Integer>();
L'arraylist est une structure de donnée à taille dynamique basée sur un tableau.
Sachant qu'un tableau à une taille définie, quand l'arraylist arrive aux limites de taille du tableau sous jacent, elle créé un nouveau tableau plus grand et y copie ses valeurs stockées.
En passant un int en paramètre du constructeur de l'arraylist, on spécifie directement la taille du talbeau sous jacent, ainsi on épargne le cout des plusieurs redimensionnement successifs.
C'est une excellente pratique que de spécifier une taille initiale en construisant l'arraylist en rapport avec la capacité dont on a besoin.
Merci des infos vous deux![]()
C'est Android, PAS Androïd, ou Androïde didiou !
Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.
Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.
N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android
Partager