Bonjour, voici un code.
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
 
Map<String, Integer> map = new Hashtable<String, Integer>();
        map.put("un", 1);
        map.put("deux", 2);
        map.put("trois", 3);
        map.put("quatre", 4);
        map.put("cinq", 346);
        List<Map<String, Integer>> listeA = new ArrayList<Map<String,Integer>>();
        listeA.add(map);
        List<Map<String, Integer>> listeB = new ArrayList<Map<String,Integer>>();
        listeB.add(map);
 
        List<Map<String, Integer>> listeC = new ArrayList<Map<String,Integer>>();
        listeC.add(map);
        System.out.println("Contenu de map");
        Iterator<Integer> it = map.values().iterator();
        while(it.hasNext()){
            System.out.print(it.next() + " ");
        }
        System.out.println();
 
        System.out.println("Contenu de listeA");
        Map<String, Integer> mA = listeA.get(0);
        Iterator< Integer>itA =mA.values().iterator();    
        while(itA.hasNext()){
            System.out.print(itA.next() + " ");    
        }
        System.out.println();
        System.out.println("Contenu de listeB");
        Map<String, Integer> mB = listeB.get(0);
 
 
        Iterator< Integer>itB =mB.values().iterator();    
        while(itB.hasNext()){
            System.out.print(itB.next() + " ");    
        }
 
        System.out.println();
        System.out.println("Contenu de listeC");
        Map<String, Integer> mC = listeC.get(0);
        Iterator< Integer>itC =mC.values().iterator();    
        while(itC.hasNext()){
            System.out.print(itC.next() + " ");    
        }
resultat : Contenu de map
1 2 3 346 4
Contenu de listeA
1 2 3 346 4
Contenu de listeB
1 2 3 346 4
Contenu de listeC
1 2 3 346 4
Quand je modifie le contenu de map , je modifie le contenu des listeA,B,C, ce qui est normal.
La question : Comment changer le contenu de listeA et listeB sans changer map?
D'une façon generale il y a t il un gadget pour obtenir une liste d'objets identiques mais avec des reférences differentes ? sans cloner mes objets?
Mon algorithme sur 8000 polygones contenus dans des paires en depend .
Merci