Přístup k prvkum v 3D nafukujicim ArrayListu – Java – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Přístup k prvkum v 3D nafukujicim ArrayListu – Java – Fórum – Programujte.comPřístup k prvkum v 3D nafukujicim ArrayListu – Java – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Tedd
~ Anonymní uživatel
11 příspěvků
24. 3. 2012   #1
-
0
-

Dobry den. Vytvořil jsem si 3D ArrayList ale trochu jiným způsobem a to tak, ze jsem do ArrayListu nahral dalsi ArrayList a to jsem pak vlozil do dalsiho ArrayListu. Takhle jdou prakticky tvořit multi-pole (myslím). Jenže když chci přistupovat k hodnotám v poli tak ho musím rozložit a teprva vypsat/nahradit určitými hodnotami, což je zdlouhavé.

nešlo by něco takového ?

hodnota =3DField.get(i).get(x).get(y); //toto nefunguje samozřejmě , i když nechapu proč.

public ArrayList get3DArrayList(int x, int y, int i)
    {
        ArrayList dimension2 = new ArrayList();
        ArrayList dimension3 = new ArrayList();
        ArrayList newField;
        int hodnota = 0;

        /*
         * Vytvoří 3D pole které se dá zvětšovat směru od 0 do nekonečna !! a rovnou naplní hodnotou
         */

        for (int m = 0; m < i; m++)
        {
            for (int k = 0; k < y; k++)
            {
                newField = new ArrayList();
                for (int j = 0; j < x; j++)
                {
                    hodnota++;
                    newField.add(hodnota);
                }
                dimension2.add(newField);
            }
            dimension3.add(dimension2);
            dimension2 = new ArrayList();
        }

        return dimension3;
    }

    public void Vypis3DArray(ArrayList list)
    {
        ArrayList SoutField, newField;
        for (int i = 0; i < list.size(); i++)
        {
            newField = (ArrayList) list.get(i);
            System.out.println("[" + i + "]");

            for (int b = 0; b < newField.size(); b++)
            {
                SoutField = (ArrayList) newField.get(b);
                for (int j = 0; j < SoutField.size(); j++)
                {
                    System.out.print("[" + SoutField.get(j) + "] ");
                }
                System.out.println();
            }
            System.out.println();
        }
    }

Nahlásit jako SPAM
IP: 88.101.11.–
Reklama
Reklama
zlz
~ Anonymní uživatel
634 příspěvků
24. 3. 2012   #2
-
0
-

   

((ArrayList)(((ArrayList)list.get(a)).get(b)).get(c)
ArrayList<ArrayList<ArrayList<Integer>>> list = new ArrayList<ArrayList<ArrayList<Integer>>>();

list.get(a).get(b).get(c)


Nahlásit jako SPAM
IP: 213.211.51.–
Tedd
~ Anonymní uživatel
11 příspěvků
24. 3. 2012   #3
-
0
-

Děkuju, pomohlo. Vyřeseno :)

Nahlásit jako SPAM
IP: 88.101.11.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 22 hostů

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý