Tablica mieszana 1D i 2D

0

Dzien dobry

Czy mozna zrobic tablice mieszana (polaczonej) 1D i 2D poprzez hashmap i/lub list taka jak ta przykladowa ponizej (tablica zrobiona z poziomu php)?

array(
    "text" => "ala ma kota",
    array(
        array(
            "imie" => "olek",
            "kolor" => "bialy",
        ),
        array(
            "imie" => "juzio",
            "kolor" => "czarny",
        ),
        array(
            "imie" => "jas",
            "kolor" => "szary",
        ),
    )
)

pozdrawiam
_duszek

0

Screenshot_20180124-125445.png

0

Kod chodzi poprawnie, pomimo ze dla mnie to troche oporny tzn. nastepny dodatkowy kotek to dodatkowe 4 linie kodu (ucze sie jeszcze javy i jesli mozna w tym kodzie cos poprawic to chetnie zobacze).

HashMap<String, Object> hashMap = new HashMap<>();
hashMap.put("tekst","ala ma kota");
HashMap<String, String> hashMapObiekt0 = new HashMap<>();
hashMapObiekt0.put("imie", "olek");
hashMapObiekt0.put("kolor", "bialy");
hashMap.put("0", hashMapObiekt0);
HashMap<String, String> hashMapObiekt1 = new HashMap<>();
hashMapObiekt1.put("imie", "juzio");
hashMapObiekt1.put("kolor", "czarny");
hashMap.put("1", hashMapObiekt1);
HashMap<String, String> hashMapObiekt2 = new HashMap<>();
hashMapObiekt2.put("imie", "jas");
hashMapObiekt2.put("kolor", "szary");
hashMap.put("2", hashMapObiekt2);
System.out.println(hashMap);
System.out.println("--------");
System.out.println(hashMap.get("tekst"));
System.out.println(hashMap.get("0"));
System.out.println("--------");
HashMap<String, String> hashMapObiekt2Odczyt = (HashMap<String, String>) hashMap.get("1");
System.out.println(hashMapObiekt2Odczyt.get("imie"));
System.out.println(hashMapObiekt2Odczyt.get("kolor"));

Czy mozna bylo to zrobic za pomoca petli (nastepy kotek to tylko 2 linijki kodu) - wedlug przykladowego ponizszego kodu. Nie wiem tylko czy mozna w javie zrobic by nazwa tablicy byla polaczenie "hashMapObiekt" i zmienna "i" (nad znaczkami ^ edytor pokazuje blad).

HashMap<String, Object> hashMap = new HashMap<>();
hashMap.put("tekst","ala ma kota");
List<String> listImie = new ArrayList<String>();
listImie.add("olek");
listImie.add("juzio");
listImie.add("jas");
listImie.add("kicia");
List<String> listKolor = new ArrayList<String>();
listKolor.add("bialy");
listKolor.add("czarny");
listKolor.add("szary");
listKolor.add("rudy");
for (int i = 0; i < listImie.size(); i++) {
    HashMap<String, String> hashMapObiekt+i = new HashMap<>();
//                          ^^^^^^^^^^^^^^^
    hashMapObiekt+i.put("imie", listImie.get(i));
//  ^^^^^^^^^^^^^^^
    hashMapObiekt+i.put("kolor", listKolor.get(i));
//  ^^^^^^^^^^^^^^^
    hashMap.put(i, hashMapObiekt+i);
//                 ^^^^^^^^^^^^^^^
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1