Creer une liste à partir d'un tableau
jj1k
Messages postés
30
Date d'inscription
Statut
Membre
Dernière intervention
-
jj1k Messages postés 30 Date d'inscription Statut Membre Dernière intervention -
jj1k Messages postés 30 Date d'inscription Statut Membre Dernière intervention -
Bonjour
j'ai un tableau et une liste qui contient quelques lignes de ce tableauet à partir de ces deux je veux creer une autre liste qui contient les autres elemnt qui existe dans le tableau et n'existe pas dans la liste

qui est en bleu c'est le contenu de la liste et le reste c'est le contenu du tableau ! dans la nouvelle je veux recupere les elemnt qui existe dans le tab et n'existe pas dans la liste .
j'ai essayer de faire ça mais il me donne le dernier id du tab avec taille de tableau * taille de list !!!
j'ai un tableau et une liste qui contient quelques lignes de ce tableauet à partir de ces deux je veux creer une autre liste qui contient les autres elemnt qui existe dans le tableau et n'existe pas dans la liste
package test; import java.util.ArrayList; import java.util.LinkedList; import java.util.List; public class Y { public static void main(String[] args) { [/contents/234-cvs-introduction Cvs][] table=null; List<Cvs> listCvs0 = new LinkedList<Cvs>(); Cvs newOb1 = new Cvs(); Cvs newOb = new Cvs(); List<Cvs> listS = new ArrayList<Cvs>(); for (int k = 0, z=table.length/2 ; k < table.length/2 && z <table.length ; z++, k++) { newOb=table[k]; newOb1 = table[z]; if (listS.get(j).T2+dist1+t<newOb.beta1 && listS.get(j).T2+dist1> result && c>0 ) { listS.add(j+1, new Cvs(newOb.id, newOb.X, newOb.Y, newOb.Capacité, newOb.charge, 0,0, newOb.alpah1, newOb.beta1,newOb.T1,newOb.T2)); } else { listS.add(new Cvs(newOb1.id, newOb1.X, newOb1.Y, newOb1.Capacité, newOb1.charge, 0,0, newOb1.alpah1, newOb1.beta1, newOb1.T1, newOb1.T2)); } } for(int j = 0; j < listS.size(); j++) { System.out.println(listS.get(j).id); } for(int o1 = 0; o1 <table.length; o1++) { System.out.println(table[o1].id); } }}
qui est en bleu c'est le contenu de la liste et le reste c'est le contenu du tableau ! dans la nouvelle je veux recupere les elemnt qui existe dans le tab et n'existe pas dans la liste .
j'ai essayer de faire ça mais il me donne le dernier id du tab avec taille de tableau * taille de list !!!
for(int ct = 0; ct < table.lengh; ct++) { for(int j = 0; j < listS.size(; j++) { if(listS.get(j).id!= table[ct].id) { listCvs0.add(new Cvs(newOb.id, newOb.X, newOb.Y, newOb.Capacité, newOb.charge, 0,0, newOb.alpah1, newOb.beta1,newOb.T1,newOb.T2)); } } }
A voir également:
- Creer une liste à partir d'un tableau
- Creer un groupe whatsapp a partir d'un autre groupe - Guide
- Créer une liste déroulante excel - Guide
- Créer un compte google - Guide
- Tableau word - Guide
- Créer un lien pour partager des photos - Guide
4 réponses
Bonjour,
L'interface List, et plus généralement l'interface Collection dont elle hérite, définit déjà des méthodes pour faire ça, en particulier removeAll te permettra d'enlever de ton tableau tout les éléments qui sont déjà dans la liste.
L'interface List, et plus généralement l'interface Collection dont elle hérite, définit déjà des méthodes pour faire ça, en particulier removeAll te permettra d'enlever de ton tableau tout les éléments qui sont déjà dans la liste.
Integer[] tableau = { 1, 2, 3, 4, 5, 6, 7, 8, 9 }; List<Integer> liste = Arrays.asList(1, 3, 5, 7, 9); List<Integer> autres = new ArrayList<>(Arrays.asList(tableau)); autres.removeAll(liste); System.out.println(autres); // [2, 4, 6, 8]
j'ai essayé mais li m'affiche le contenu de tout le tableau ! il ne supprime pas cotenu de la liste
Cvs[] table=null; List<Cvs> listS = new ArrayList<Cvs>(); List<Cvs> autres = new ArrayList<>(Arrays.asList(table)); autres.removeAll(listS); for(int i = 0; i < table.length-listS.size(); i++){ System.out.println(autres.get(i).id); }
ma liste n'est pas vide !
jlorsque je fait
for(int j = 0; j < listS.size(); j++) {
System.out.println(listS.get(j).id);
}
il m(affiche le contenu
jlorsque je fait
for(int j = 0; j < listS.size(); j++) {
System.out.println(listS.get(j).id);
}
il m(affiche le contenu
"ma liste n'est pas vide !"
Moi je regarde ton code et je vois
Et ça c'est bien une liste vide... Donc
De plus, je ne sais pas comment est défini ton objet Cvs, mais il faudra que la méthode equals soit correctement redéfini pour qu'il puisse faire le remove.
Moi je regarde ton code et je vois
List<Cvs> listS = new ArrayList<Cvs>();
Et ça c'est bien une liste vide... Donc
autres.removeAll(listS);ne fera rien.
De plus, je ne sais pas comment est défini ton objet Cvs, mais il faudra que la méthode equals soit correctement redéfini pour qu'il puisse faire le remove.
n'est pas vide j'ai mais j'ai pas mis tout le code c tout
if (listS.isEmpty()) { System.out.println("lista fer8a "); Double f; Double m; Double distance; f = Math.abs (newOb1.X - newOb.X); m= Math.abs (newOb1.Y- newOb.Y); distance = Math.sqrt((f)*(f) +(m)*(m)); // System.out.println(distance); Integer dist = distance.intValue(); String l = newOb1.alpah1; int o = Integer.parseInt(l); newOb.T2=o-dist; newOb.T1=newOb.T2-t; newOb1.T1= newOb.T2 + dist; newOb1.T2= newOb1.T1+t; System.out.println(newOb.T1); System.out.println(newOb.T2); System.out.println(newOb1.T1); System.out.println(newOb1.T2); listS.add(new Cvs(newOb.id, newOb.X, newOb.Y, newOb.Capacité, newOb.charge, 0,0, newOb.alpah1, newOb.beta1,newOb.T1,newOb.T2)); c=c-1; listS.add(new Cvs(newOb1.id, newOb1.X, newOb1.Y, newOb1.Capacité, newOb1.charge, 0,0, newOb1.alpah1, newOb1.beta1, newOb1.T1, newOb1.T2)); c=c+1; for(Cvs cvsL : listS){ for(Cvs cvsT : table){ if(cvsL.getId().equalsIgnoreCase(cvsT.getId())){ cvsL.setT1(cvsT.T1); cvsL.setT2(cvsT.T2); // cvsL.setCapacite(cvsT.getCapacite()); } } } /* for(Cvs cvs : listS){ System.out.println(listS.size()); System.out.println(cvs.getId() + "-" + cvs.getT1() + "-" + cvs.T2 + "-" + cvs.alpha ); }*/ System.out.println("lista 3abitha b :" ); System.out.println(listS.size()); } else { for(int j = 0; j < listS.size(); j++) { Double f1; Double m1; Double distance1; f1 = Math.abs (listS.get(j).X - newOb.X); m1= Math.abs (listS.get(j).Y- newOb.Y); distance1 = Math.sqrt((f1)*(f1) +(m1)*(m1)); // System.out.println(distance); Integer dist1 = distance1.intValue(); System.out.println(dist1); String number1 = newOb.alpah1 ; int al1 = Integer.parseInt(number1); String number = listS.get(j).alpah1 ; int result = Integer.parseInt(number); System.out.println(result); // dist1 heya bin ville jdida w ville eli deja mawjouda (condition) System.out.println(newOb.beta1); System.out.println("hahi charge"); System.out.println(c); // if ( result + dist1 > al1 && result + dist1 < newOb.beta1 && c>0) if (listS.get(j).T2+dist1+t<newOb.beta1 && listS.get(j).T2+dist1> result && c>0 ) { System.out.println("kan condition vérifier nzid origin w n'affichi size "); newOb.T1=listS.get(j).T2+ dist1; System.out.println(listS.get(j).T2); System.out.println(newOb.T1); newOb.T2=newOb.T1+t; listS.add(j+1, new Cvs(newOb.id, newOb.X, newOb.Y, newOb.Capacité, newOb.charge, 0,0, newOb.alpah1, newOb.beta1,newOb.T1,newOb.T2)); c=c-1; System.out.println(listS.get(j+1).id); System.out.println(listS.get(j+2).id); System.out.println(listS.size()); for(Cvs cvsL : listS){ for(Cvs cvsT : table){ if(cvsL.getId().equalsIgnoreCase(cvsT.getId())){ cvsL.setT1(cvsT.T1); cvsL.setT2(cvsT.T2); // cvsL.setCapacite(cvsT.getCapacite()); } } } Double f2; Double m2; Double distance2; f2 = Math.abs (listS.get(j+1).X - listS.get(j+2).X); m2= Math.abs (listS.get(j+1).Y- listS.get(j+2).Y); distance2 = Math.sqrt((f2)*(f2) +(m2)*(m2)); // System.out.println(distance); Integer dist2 = distance2.intValue(); System.out.println(dist2); int c1= dist2 +dist1+ t- kdist1; // heya decalege ta3 wa9t lowel System.out.println("ne7seb declage w bech nzidou l be9i liste"); System.out.println(c1);