Salut a tous ,

J'ai une classe apelé PrismRule qui un des champ de cette classe c'est next qui est de type PrismRule Aussi car il va contenir la regle "PrismRule suivante" , apres avoir instancier plusieurs instance et les relier par le champ m_next je veux selectionner un certain nombre d'instancede cette chaine de PrismRule voila le code que j'ai fait:

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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
 
    public List<PrismRule> SelectR= new ArrayList<PrismRule>();
    private PrismRule SelectCR(PrismRule PCR_rules, int s) throws Exception {
PrismRule Selected_rules =null;
 
//poser les rule generer par add dans une list
        while(PCR_rules.m_next !=null){
 
 
            SelectR.add(PCR_rules);
            PCR_rules=PCR_rules.m_next;
 
 
         }
 
         System.out.print("after add miiiii {---- "+SelectR.size()+"---]yyyyyy");
        //---------------------------------------------
 
        float Best=(SelectR.get(0)).m_errors; // ici on va choisir entre (laplace ...)
         int place=0;
        for(int u=0; u<s;u++){
 
       System.out.print("one for");
 
           for(int i=0; i<SelectR.size();i++){
 
 
             if ((SelectR.get(i)).m_errors < Best) {
 
             Best= (SelectR.get(i)).m_errors; // on doit changer m_errors
             place=i;
 
             }
 
           }
 
 
 
        if(Selected_rules == null) {
           Selected_rules=SelectR.get(place);
 
           Selected_rules= Selected_rules.m_next;
            SelectR.remove(place); 
 
           // System.out.println("Selected_rules ="+ Selected_rules);
        }
 
 
         else{
         // System.out.println("am here not nu");
           Selected_rules.m_next=SelectR.get(place);
            SelectR.remove(place); 
            Selected_rules= Selected_rules.m_next;
 
 
        }
 
 
        }
 
 
 
 
 
 return  Selected_rules ;
   }
PCR_rules : c'est la chaine dee PrismRule que je veux parcourir
je vais la copier dans une arraylist , mais ce que j'obtiens quand je fait SelectR.add (PCR_rules) chaque element du arraylist contien toute la PCR_rules et non pas un seule element malgré que je fait une boucle