Bonjour,
Comment se code l'intersection de 2 ensembles
Merci par avance
Bonjour,
Comment se code l'intersection de 2 ensembles
Merci par avance
Si tu veux l'intersection (éléments en commun) des "clés" de ta Map :
, sinon si c'est sur les "valeurs" de ta Map que tu veux travailer :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 query1.getMap().keySet().retainAll(query2.getMap().keySet());
.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 query1.getMap().entrySet().retainAll(query2.getMap().entrySet());
" Jag blev dömd för fildelning och allt jag fick var en sketen t-shirt. " (tankafritt.nu)
PAS DE REPONSE PAR MESSAGE PRIVE ! Penser au bouton Résolu en bas de la discussion...
http://java.sun.com/j2se/1.4.2/docs/...til.Collection)
Je confirme que ça marche!public boolean retainAll(Collection c)
Retains only the elements in this list that are contained in the specified collection (optional operation). In other words, removes from this list all the elements that are not contained in the specified collection.
Specified by:
retainAll in interface Collection
Parameters:
c - collection that defines which elements this set will retain.
Returns:
true if this list changed as a result of the call.
Throws:
UnsupportedOperationException - if the retainAll method is not supported by this list.
ClassCastException - if the types of one or more elements in this list are incompatible with the specified collection (optional).
NullPointerException - if this list contains one or more null elements and the specified collection does not support null elements (optional).
NullPointerException - if the specified collection is null.
See Also:
remove(Object), contains(Object)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 public Query and(Query query1,Query query2){ List<Integer> list = query1.getList(); list.retainAll(query2.getList()); // enlever valeur si pas dans l'intersection return new QueryImpl(list); }
" Jag blev dömd för fildelning och allt jag fick var en sketen t-shirt. " (tankafritt.nu)
PAS DE REPONSE PAR MESSAGE PRIVE ! Penser au bouton Résolu en bas de la discussion...
addAll ajoute simplement le contenu de liste2 à liste1
Si tu ne veux pas de doublons, passe par un Set et non un List
Clic me...
CV en ligne
Il y a 10 types de personnes, celui qui connait le binaire, et l'autre...
Pas de réponse en MP...Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 public Query or(Query query1,Query query2){ List<Integer> list = query1.getList(); list.removeAll(query2); // suppression de l'intersection (pour éviter les doublons) list.addAll(query2.getList()); // ajout du tout (sans les doublons) return new QueryImpl(list); }
" Jag blev dömd för fildelning och allt jag fick var en sketen t-shirt. " (tankafritt.nu)
PAS DE REPONSE PAR MESSAGE PRIVE ! Penser au bouton Résolu en bas de la discussion...
cela ne n'enlèves pas les doublons...
ESt-ce que tu as besoin de voir du code pour savoir ce qui ne va pas chez moi?
Je viens de tester, et ça marche (je l'savais!) : donc c'est sûrement ton implémentation de "equals" et/ou "hashcode" dans la des objets dans tes QUERY qui plante(nt)...Envoyé par Premium
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 public class Test { public static void main(String[] args) { List q1 = new ArrayList(); q1.add("1"); q1.add("2"); q1.add("3"); q1.add("4"); System.out.println(q1); // affiche [1, 2, 3, 4] List q2 = new ArrayList(); q2.add("1"); q2.add("3"); q2.add("4"); q2.add("9"); System.out.println(q2); // affiche [1, 3, 4, 9] List list = q1; System.out.println(list); // affiche [1, 2, 3, 4] list.removeAll(q2); System.out.println(list); // affiche [2] list.addAll(q2); System.out.println(list); // affiche [2, 1, 3, 4, 9] } }
" Jag blev dömd för fildelning och allt jag fick var en sketen t-shirt. " (tankafritt.nu)
PAS DE REPONSE PAR MESSAGE PRIVE ! Penser au bouton Résolu en bas de la discussion...
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager