Hiho Netzbewohner,
bin "lost" in einer Datenstruktur, eigentlich ist es genau das was ich mir vorgestellt habe aber der Zugriff ist doch nicht so einfach wie gedacht.
Die Datenstruktur sieht so aus:
Durchlaufe die gesamte Struktur und gebe die untersten Listen aus.
Gebe dies und jenes aus...
Zb wenn ich die "Outputs" zu 3 (Map<Integer) haben möchte, wie stellt man das an?
Mfg
metalfan
Zum experimentieren das ganze mit Werten:
bin "lost" in einer Datenstruktur, eigentlich ist es genau das was ich mir vorgestellt habe aber der Zugriff ist doch nicht so einfach wie gedacht.
Die Datenstruktur sieht so aus:
Code:
List<Map<Integer, Map<String, List<Integer>>>>
test= new LinkedList
<Map<Integer, Map<String, List<Integer>>>>();
Durchlaufe die gesamte Struktur und gebe die untersten Listen aus.
Code:
int o=0;
for (Map<Integer, Map<String, List<Integer>>> x:test){
System.out.println("Äußere Liste, Element"+o);
for ( Map<String, List<Integer>> elem : x.values()){
for ( String elem2 : elem.keySet() ){
for (int c:elem.get(elem2)){
System.out.println(c);
}
}
}
o++;
}
Gebe dies und jenes aus...
Code:
for (Map<Integer, Map<String, List<Integer>>> x:test){
System.out.println(x.keySet()); //[1, 3, 5]
System.out.println(x.get(1)); //{Outputs=[1, 2, 3], Ks=[100, 101, 102], Js=[10, 11, 12]}
for (Integer f: x.keySet()){
System.out.println(f); // 1 3 5
}
}
Zb wenn ich die "Outputs" zu 3 (Map<Integer) haben möchte, wie stellt man das an?
Mfg
metalfan
Zum experimentieren das ganze mit Werten:
Code:
import java.util.*;
public class JavaForum {
private void test8(){
List<Map<Integer, Map<String, List<Integer>>>>
test= new LinkedList
<Map<Integer, Map<String, List<Integer>>>>();
//Innere Map1
Map<String, List<Integer>> test1 = new HashMap<String, List<Integer>>();
test1.put("Outputs", createList(1)); //Innere Listen
test1.put("Js", createList(10));
test1.put("Ks", createList(100));
//Innere Map2
Map<String, List<Integer>> test2 = new HashMap<String, List<Integer>>();
test2.put("Outputs", createList(2)); //Innere Listen
test2.put("Js", createList(20));
test2.put("Ks", createList(200));
//Innere Map3
Map<String, List<Integer>> test3 = new HashMap<String, List<Integer>>();
test3.put("Outputs", createList(3)); //Innere Listen
test3.put("Js", createList(30));
test3.put("Ks", createList(300));
//Äußere Map
Map<Integer, Map<String, List<Integer>>>
outputs = new
HashMap<Integer, Map<String, List<Integer>>>();
outputs.put(1, test1);
outputs.put(3, test2);
outputs.put(5, test3);
//Äußerste Liste
test.add(outputs);
int o=0;
for (Map<Integer, Map<String, List<Integer>>> x:test){
System.out.println("Äußere Liste, Element"+o);
x.keySet();
for ( Map<String, List<Integer>> elem : x.values()){ //x.values gibt die Map
for ( String elem2 : elem.keySet() ){ //<String, List zurück
for (int c:elem.get(elem2)){
System.out.println(c);
}
}
}
o++;
}
}
private List<Integer> createList(int start){
List<Integer> test = new LinkedList<Integer>();
for (int n=start;n<(start+3);n++)
test.add(n);
return test;
}
public static void main(String[] args){
JavaForum a = new JavaForum();
a.test8();
}
}