Maniputation arralist java
tchiko35
Messages postés
28
Date d'inscription
Statut
Membre
Dernière intervention
-
Herezia Messages postés 70 Date d'inscription Statut Membre Dernière intervention -
Herezia Messages postés 70 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai une arraylist qui contient : (informatique, informatique, informatique, électricité, électricité)
et une autre qui contient leur signification (2.14, 2.14, 2.14, 1.64, 1.64)
je voudrais obtenir une arraylist qui va contenir que (informatique, électricité) et une autre (2.14, 1.64)
j'utilise java
aidez moi s'il vous plait .
MERCI
j'ai une arraylist qui contient : (informatique, informatique, informatique, électricité, électricité)
et une autre qui contient leur signification (2.14, 2.14, 2.14, 1.64, 1.64)
je voudrais obtenir une arraylist qui va contenir que (informatique, électricité) et une autre (2.14, 1.64)
j'utilise java
aidez moi s'il vous plait .
MERCI
A voir également:
- Maniputation arralist java
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
7 réponses
en gros tu veux supprimer les doublons ???
si c'est le cas je te conseille d'utiliser ce code-ci
ArrayList list = new ArrayList() ;
list.add(...);
Set set = new HashSet() ;
set.addAll(list) ;
ArrayList distinctList = new ArrayList(set) ;
si c'est le cas je te conseille d'utiliser ce code-ci
ArrayList list = new ArrayList() ;
list.add(...);
Set set = new HashSet() ;
set.addAll(list) ;
ArrayList distinctList = new ArrayList(set) ;
Et pourquoi ne pas utiliser tout simplement les Collections ?
import java.util.ArrayList; import java.util.Collection; public class Test { public static <E> Collection<E> sansDoublon(Collection<E> donnees, Collection<E> resultat) { for (E e : donnees) if (!resultat.contains(e)) resultat.add(e); return resultat; } public static void main(String args[]) { ArrayList<String> liste1 = new ArrayList<String>(); liste1.add("informatique"); liste1.add("informatique"); liste1.add("électricité"); liste1.add("informatique"); liste1.add("électricité"); for (String s : sansDoublon(liste1, new ArrayList<String>())) System.out.println(s); } }
je te remercie pour ta reponse, mais j'ai du preciser un chose c'est que je travaille avec les ArrayList [] avec indice, et la j'arrive pas a faire marcher ton code, svp une solution pour mon cas
Merci
Merci
Salut,
Moi je mettrais un truc de ce genre si tu utilise les arraylist comme des tableau:
Moi je mettrais un truc de ce genre si tu utilise les arraylist comme des tableau:
public class main { public static void main(String[] args) { String[] listNom = {"informatique", "informatique", "informatique", "électricité", "électricité"}; String[] listMeaning = {"2.14", "2.14", "2.14", "1.64", "1.64"}; String[] listNomSansDoublons = {}; String[] listMeaningSansDoublons = {}; for (int i = 0; i < listNom.length; i++){ boolean absent = true; String nom = listNom[i]; String meaning = listMeaning[i]; for (int j = 0; j < listNomSansDoublons.length; j++){ if (nom == listNomSansDoublons[j]){ absent = false; } } if(absent){ listNomSansDoublons[listNomSansDoublons.length] = nom; listMeaningSansDoublons[listMeaningSansDoublons.length] = meaning; } } } }
je te remercie pour la reponse, j'essaye d'appliquer ton algorithme pour mon cas, mais je vois que pour la premiere entrée dans la deuxieme boucle "for (int j = 0; j < listNomSansDoublons.length; j++){" la listNomSansDoublons[j] pointe vers le null car elle contient rien
comment faire s'il vous plait
comment faire s'il vous plait
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Une ArrayList c'est une java.util.ArrayList, c'est une classe
Un élément d'ArrayList s'obtient par .get(indice)
Visiblement tu parles de tableau, ça ne s'appelle pas ArrayList [] mais rien d'autre qu'un tableau
Tu peux produire un HashSet (aucun doublon) à partir d'un de ces tableaux primitifs :
Attention : code non testé
Un élément d'ArrayList s'obtient par .get(indice)
Visiblement tu parles de tableau, ça ne s'appelle pas ArrayList [] mais rien d'autre qu'un tableau
Tu peux produire un HashSet (aucun doublon) à partir d'un de ces tableaux primitifs :
List list = Arrays.asList(new String[] {"Informatique", "Informatique", "Electronique"}); Set set = new HashSet(); set.addAll(list);
Attention : code non testé
Effectivement, il faut initialiser les tableaux avant.
Ce code marche, je l'ai testé:
Ce code marche, je l'ai testé:
public class main { public static void main(String[] args) { String[] listNom = {"informatique", "informatique", "informatique", "électricité", "électricité"}; String[] listMeaning = {"2.14", "2.14", "2.14", "1.64", "1.64"}; String[] listNomSansDoublons = new String[5]; String[] listMeaningSansDoublons = new String[5]; for (int i = 0; i < listNom.length; i++){ boolean absent = true; int taille = 0; String nom = listNom[i]; String meaning = listMeaning[i]; for (int j = 0; j < listNomSansDoublons.length; j++){ if (nom == listNomSansDoublons[j]){ absent = false; } } if(absent){ listNomSansDoublons[taille] = nom; listMeaningSansDoublons[taille] = meaning; taille++; System.out.println(nom+meaning); } } } }