{"id":620,"date":"2020-04-11T11:11:42","date_gmt":"2020-04-11T11:11:42","guid":{"rendered":"https:\/\/www.juniorjavadeveloper.pl\/?p=620"},"modified":"2020-04-11T17:23:37","modified_gmt":"2020-04-11T17:23:37","slug":"tablice-i-listy-kod-java-intellij-krok-po-kroku","status":"publish","type":"post","link":"https:\/\/www.juniorjavadeveloper.pl\/en\/2020\/04\/11\/tablice-i-listy-kod-java-intellij-krok-po-kroku\/","title":{"rendered":"Tablice i listy \u2013 kod Java, IntelliJ, krok po kroku"},"content":{"rendered":"<p class=\"wp-block-paragraph\">Przyszed\u0142 czas na struktury danych takie jak tablice i listy. S\u0105 to struktury danych bardzo cz\u0119sto u\u017cywane w programowaniu, poniewa\u017c pozwalaj\u0105 przechowa\u0107 wi\u0119cej ni\u017c jeden obiekt danego typu oraz wykonywa\u0107 operacje na nich. Struktury danych brzmi &#8220;gro\u017anie&#8221;, ale tak na prawd\u0119 nie s\u0105 one skomplikowane. W poprzednich artyku\u0142ach opisa\u0142em teori\u0119 i pokaza\u0142em przyk\u0142ady kodu dotycz\u0105ce tworzenia <a rel=\"noreferrer noopener\" href=\"https:\/\/www.juniorjavadeveloper.pl\/en\/2020\/03\/07\/pierwsza-klasa-kod-java-intellij-krok-po-kroku\/\" target=\"_blank\">pierwszej klasy w j\u0119zyku Java<\/a>, jak i gdzie zapisa\u0107 <a rel=\"noreferrer noopener\" href=\"https:\/\/www.juniorjavadeveloper.pl\/en\/2020\/03\/14\/wartosci-w-pierwszej-klasie-kod-java-intellij-krok-po-kroku\/\" target=\"_blank\">warto\u015bci w klasie<\/a>, jak wykonywa\u0107 <a rel=\"noreferrer noopener\" href=\"https:\/\/www.juniorjavadeveloper.pl\/en\/2020\/03\/21\/dzialania-w-pierwszej-klasie-kod-java-intellij-krok-po-kroku\/\" target=\"_blank\">dzia\u0142ania na klasie<\/a> oraz jak <a rel=\"noreferrer noopener\" href=\"https:\/\/www.juniorjavadeveloper.pl\/en\/2020\/03\/31\/ukrywamy-hermetyzujemy-nasz-kod-w-klasie-kod-java-intellij-krok-po-kroku\/\" target=\"_blank\">ukry\u0107 kod klasy<\/a> przed niepowo\u0142anym dost\u0119pem.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Zanim przejd\u0119 do samej teorii odno\u015bnie tablic i list poka\u017c\u0119 o co chodzi z tym przechowywaniem wi\u0119cej ni\u017c jednego obiektu danego typu. Poni\u017cszy kod pokazuje nie najlepsze podej\u015bcie do tematu wielu zmiennych, obiekt\u00f3w tego samego typu.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"java\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">public class PaintShop {\n    private String blackPaint;\n    private String whitePaint;\n    private String bluePaint;\n    \/\/ etc.\n    \/\/ getter\/setter\n    \/\/ toString\n}<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">W powy\u017cszym przyk\u0142adzie za ka\u017cdym razem kiedy w klasie PaintShop chcieliby\u015bmy doda\u0107 nowy kolor musieliby\u015bmy tworzy\u0107 now\u0105 zmienn\u0105, a to ju\u017c na tym etapie \u0142amie zasad\u0119 &#8220;O &#8211; open\/closed principle&#8221; z <a rel=\"noreferrer noopener\" aria-label=\"SOLID (otwiera si\u0119 na nowej zak\u0142adce)\" href=\"https:\/\/pl.wikipedia.org\/wiki\/SOLID_(programowanie_obiektowe)\" target=\"_blank\">SOLID<\/a>. Dodatkowo istnieje bardzo du\u017ca liczba kolor\u00f3w i klasa z np. 99 zmiennymi nie b\u0119dzie \u0142atwa w utrzymaniu, nie m\u00f3wi\u0105c ju\u017c o tym jak b\u0119dzie wygl\u0105da\u0107.<\/p>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\">Poni\u017cej kod pokazuj\u0105cy u\u017cycie zmiennych z klasy PaintShop.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"java\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">public class LocalPaintShop {\n    public static void main(String[] args) {\n        PaintShop paintShop = new PaintShop();\n\n        paintShop.setBlackPaint(\"black\");\n        paintShop.setGreenPaint(\"green\");\n        paintShop.setWhitePaint(\"white\");\n\n        System.out.println(\"Colors in the Shop: \" + paintShop);\n    }\n}<\/pre>\n\n\n<!DOCTYPE html PUBLIC \"-\/\/W3C\/\/DTD HTML 4.0 Transitional\/\/EN\" \"http:\/\/www.w3.org\/TR\/REC-html40\/loose.dtd\">\n<html><body><div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><a href=\"https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2020\/04\/tablice-i-listy_00_konsola_00.png\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"2228\" height=\"570\" src=\"https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2020\/04\/tablice-i-listy_00_konsola_00.png\" alt=\"Tablice i listy \u2013 kod Java, IntelliJ, krok po kroku - wiele String'\u00f3w - konsola\" class=\"wp-image-626\" srcset=\"https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2020\/04\/tablice-i-listy_00_konsola_00.png 2228w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2020\/04\/tablice-i-listy_00_konsola_00-300x77.png 300w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2020\/04\/tablice-i-listy_00_konsola_00-1024x262.png 1024w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2020\/04\/tablice-i-listy_00_konsola_00-768x196.png 768w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2020\/04\/tablice-i-listy_00_konsola_00-1536x393.png 1536w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2020\/04\/tablice-i-listy_00_konsola_00-2048x524.png 2048w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2020\/04\/tablice-i-listy_00_konsola_00-1600x409.png 1600w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2020\/04\/tablice-i-listy_00_konsola_00-1000x256.png 1000w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2020\/04\/tablice-i-listy_00_konsola_00-800x205.png 800w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2020\/04\/tablice-i-listy_00_konsola_00-600x154.png 600w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2020\/04\/tablice-i-listy_00_konsola_00-400x102.png 400w\" sizes=\"auto, (max-width: 2228px) 100vw, 2228px\" \/><\/a><figcaption>Tablice i listy \u2013 kod Java, IntelliJ, krok po kroku &#8211; wiele String&#8217;\u00f3w &#8211; konsola<\/figcaption><\/figure><\/div>\n<\/body><\/html>\n\n\n\n<p class=\"wp-block-paragraph\">Poni\u017cszy kod pokazuje jak zadeklarowa\u0107 tablic\u0119 obiekt\u00f3w klasy\/typu String i unikn\u0105\u0107 powy\u017cszej sytuacji z oddzielnymi zmiennymi dla ka\u017cdego koloru.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"java\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">public class PaintShop {\n    private String[] paintColors;\n}<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Tym razem prezentacj\u0119 dzia\u0142ania tablic zrobi\u0119 po prostu w metodzie main() bez klasy zawieraj\u0105cej zmienn\u0105 tablicow\u0105 oraz bez metod dost\u0119powych do tablicy. U\u0142atwi, to zrozumienie istoty tablic bez &#8220;zaciemniania&#8221; obrazu dodatkow\u0105. Docelowo zmienna tablicowa musi by\u0107 w oddzielnej klasie, kt\u00f3ra umo\u017cliwi dzia\u0142anie na tej tablicy. Nie nale\u017cy modyfikowa\u0107 dowolnej zmiennej, r\u00f3wnie\u017c tablicy, bezpo\u015brednio, bez u\u017cycia metod.<\/p>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\">Poni\u017cszy kod pokazuje i opisuje tworzenie tablicy.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"java\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">public class ArrayUsageMain {\n    public static void main(String[] args) {\n        \/\/ Deklaracja tablicy typu\/klasy String\n        \/\/ tablica przechowuj\u0105ca 10 element\u00f3w\n        \/\/ ---\n        \/\/ Wyja\u015bnienie element\u00f3w od lewej do prawej:\n        \/\/ - String - typ zmiennych przechowywanych w tablicy,\n        \/\/ - [] - informacja, o tym, \u017ce tworzymy tablic\u0119,\n        \/\/ - colors - nazwa tablicy\n        \/\/ = - przypisanie warto\u015bci do tablicy\n        \/\/ new - tworzenie tablicy\n        \/\/ [10] - rozmiar tablicy\n        String[] colors = new String[10];\n    }\n}<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Tworz\u0105c i korzystaj\u0105c z tablicy nale\u017cy pami\u0119ta\u0107 o kilku wa\u017cnych elementach:<br><\/strong>&#8211; tablica zawsze musi mie\u0107 podany rozmiar,<br>&#8211; je\u017celi sko\u0144czy nam si\u0119 miejsce w tablicy, musimy utworzy\u0107 wi\u0119ksz\u0105,<br>&#8211; nie mo\u017cna dynamicznie zmienia\u0107 rozmiaru tablicy,<br>&#8211; elementy w tablicy s\u0105 przechowywane na pozycjach od [0] do [n-1],<br>&#8211; tablice przechowuj\u0105 warto\u015bci pod konkretnym indeksem.<\/p>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\">Poni\u017cszy kod pokazuje przypisanie i pobranie danych\/warto\u015bci dla tablicy.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"java\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">public class ArrayUsageMain {\n    public static void main(String[] args) {\n        String[] colors = new String[10];\n        \/\/ przypisanie warto\u015bci do pierwszego elementu\n        colors[0] = \"black\";\n        \/\/ przypisanie warto\u015bci do \u00f3smego elementu\n        colors[9] = \"white\";\n    \n        String firstElement = colors[0];\n        String fourthElement = colors[3];\n        String tenthElement = colors[9];\n    \n        System.out.println(\"Pierwszy element tablicy: \" + firstElement);\n        System.out.println(\"Czwarty element tablicy: \" + secondElement);\n        System.out.println(\"Dziesi\u0105ty, ostatni element tablicy: \" + eightElement);\n    }\n}<\/pre>\n\n\n<!DOCTYPE html PUBLIC \"-\/\/W3C\/\/DTD HTML 4.0 Transitional\/\/EN\" \"http:\/\/www.w3.org\/TR\/REC-html40\/loose.dtd\">\n<html><body><div class=\"wp-block-image\"><figure class=\"aligncenter size-medium\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"155\" src=\"https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2020\/04\/tablice-i-listy_00_konsola_01-t-300x155.png\" alt=\"Tablice i listy \u2013 kod Java, IntelliJ, krok po kroku \u2013 pobieranie warto\u015bci z tablicy \u2013 konsola\" class=\"wp-image-641\" srcset=\"https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2020\/04\/tablice-i-listy_00_konsola_01-t-300x155.png 300w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2020\/04\/tablice-i-listy_00_konsola_01-t-600x311.png 600w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2020\/04\/tablice-i-listy_00_konsola_01-t-400x207.png 400w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2020\/04\/tablice-i-listy_00_konsola_01-t.png 676w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><figcaption>Tablice i listy \u2013 kod Java, IntelliJ, krok po kroku \u2013 dzia\u0142ania na tablicy \u2013 konsola<\/figcaption><\/figure><\/div>\n<\/body><\/html>\n\n\n\n<p class=\"wp-block-paragraph\">Numerowanie element\u00f3w tablicy i ich indeksy zawsze sprawiaj\u0105 najwi\u0119cej problem\u00f3w, bo na pierwszy rzut oka nie s\u0105 intuicyjne. Warto\u015b\u0107 tablicy dla konkretnego indeksu mo\u017cna wyja\u015bni\u0107 za pomoc\u0105 analogi ze skrzynkami na listy np. w bloku, gdzie jest wi\u0119cej ni\u017c jedna skrzynka na listy. <br>&#8211; <strong>Ustawianie warto\u015bci tablicy:<\/strong> listonosz umieszczaj\u0105c listy musi zna\u0107 numer mieszkania adresata i wk\u0142ada list do w\u0142a\u015bciwej skrzynki, dla tablicy numerem skrzynki jest jej indeks.<br>&#8211; <strong>Pobieranie warto\u015bci tablicy:<\/strong> osoba wyjmuj\u0105ca list r\u00f3wnie\u017c musi wiedzie\u0107, z kt\u00f3rej skrzynki wyj\u0105\u0107 list, czyli zna\u0107 sw\u00f3j numer mieszkania, dla tablicy jest, to jej indeks. Dopiero dla konkretnego numeru\/indeksu mo\u017cna wyj\u0105\u0107 listy, warto\u015bci z tablicy. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dost\u0119p do element\u00f3w tablicy uzyskujemy za pomoc\u0105 indeksu np. colors[0] pobiera pierwszy, gdzie 0 jest indeksem tablicy. Kod String color = colors[0] pobiera do zmiennej String color warto\u015b\u0107 b\u0119d\u0105c\u0105 pod indeksem 0. Przypisywanie warto\u015bci do tablicy r\u00f3wnie\u017c odbywa si\u0119 za pomoc\u0105 indeks\u00f3w np. colors[0] = &#8220;black&#8221;, teraz w tablicy pierwszy element b\u0119dzie mia\u0142 warto\u015b\u0107 &#8220;black&#8221;.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">W telegraficznym skr\u00f3cie stara\u0142em si\u0119 przybli\u017cy\u0107 temat tablic, ale tak jak pisa\u0142em wcze\u015bniej tablice maj\u0105 pewne ograniczenia, o kt\u00f3rych nale\u017cy pami\u0119ta\u0107. Po mimo tych ogranicze\u0144 tablice s\u0105 struktur\u0105 danych, kt\u00f3ra jest bardzo cz\u0119sto u\u017cywana. W wielu algorytmach np. sortowania dzia\u0142a si\u0119 na tablicach, niekt\u00f3re implementacje List w j\u0119zyku Java oparte s\u0105 na tablicach.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Teraz postaram si\u0119 przybli\u017cy\u0107 listy w j\u0119zyku Java. Listy r\u00f3wnie\u017c jak tablice przechowuj\u0105 wi\u0119cej ni\u017c jeden element danego typu, ale nie maj\u0105 takich ogranicze\u0144 jak tablice np. <br>&#8211; nie trzeba podawa\u0107 rozmiaru listy przy jej tworzeniu,<br>&#8211; rozmiar tablicy jest zmieniany dynamicznie podczas wstawiania element\u00f3w,<br>&#8211; spos\u00f3b przechowywania element\u00f3w zale\u017cy od konkretnego typu listy,<br>&#8211; elementy w li\u015bcie przechowywane s\u0105 od indeksu 0.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Listy w Java w odr\u00f3\u017cnieniu od tablic s\u0105 klasami, czyli typami z\u0142o\u017conymi. Wszystkie listy w Java s\u0105 oparte na wsp\u00f3lnym interfejsie java.util.Collection. Dla interfejsu Collection mamy kilka interfejs\u00f3w rozszerzaj\u0105cych, jednym z nich jest w\u0142a\u015bnie java.util.List, kt\u00f3ra przechowuje list\u0119 element\u00f3w. Dla Collection dost\u0119pne s\u0105 r\u00f3wnie\u017c java.util.Set, java.util.Queue oraz wspomniana java.util.List. Dlaczego stworzono wsp\u00f3lny interfejs? Dlatego, aby ujednolici\u0107 dost\u0119pne operacje na kolekcjach (java.util.Collection) m.in. java.util.List.<\/p>\n\n\n<!DOCTYPE html PUBLIC \"-\/\/W3C\/\/DTD HTML 4.0 Transitional\/\/EN\" \"http:\/\/www.w3.org\/TR\/REC-html40\/loose.dtd\">\n<html><body><div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><a href=\"https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2020\/04\/tablice_i_listy_01_Collection-interface-d.png\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"560\" src=\"https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2020\/04\/tablice_i_listy_01_Collection-interface-d-1024x560.png\" alt=\"Tablice i listy \u2013 kod Java, IntelliJ, krok po kroku \u2013 interfejs java.util.Collection\" class=\"wp-image-648\" srcset=\"https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2020\/04\/tablice_i_listy_01_Collection-interface-d-1024x560.png 1024w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2020\/04\/tablice_i_listy_01_Collection-interface-d-300x164.png 300w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2020\/04\/tablice_i_listy_01_Collection-interface-d-768x420.png 768w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2020\/04\/tablice_i_listy_01_Collection-interface-d-1536x840.png 1536w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2020\/04\/tablice_i_listy_01_Collection-interface-d-1600x875.png 1600w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2020\/04\/tablice_i_listy_01_Collection-interface-d-1000x547.png 1000w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2020\/04\/tablice_i_listy_01_Collection-interface-d-800x438.png 800w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2020\/04\/tablice_i_listy_01_Collection-interface-d-600x328.png 600w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2020\/04\/tablice_i_listy_01_Collection-interface-d-400x219.png 400w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2020\/04\/tablice_i_listy_01_Collection-interface-d.png 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption>Tablice i listy \u2013 kod Java, IntelliJ, krok po kroku \u2013 interfejs java.util.Collection<\/figcaption><\/figure><\/div>\n<\/body><\/html>\n\n\n\n<p class=\"wp-block-paragraph\">Operacje na listach wykonujemy za pomoc\u0105 metod z interfejsu java.util.Collection np. add(E), remove(Object), size(). Niezale\u017cnie od tego jak\u0105 implementacj\u0119 java.util.List wybierzemy, zawsze mamy dost\u0119pne powy\u017csze metody, co u\u0142atwia prac\u0119 z kolekcjami w j\u0119zyku Java. Nie b\u0119d\u0119 tutaj pisa\u0142 o r\u00f3\u017cnicach pomi\u0119dzy r\u00f3\u017cnymi typami\/implementacjami list np. ArrayList, LinkedList, Vector, wi\u0119cej informacji mo\u017cna znale\u017a\u0107 w oficjalnej dokumentacji Oracle &#8211; <a rel=\"noreferrer noopener\" aria-label=\"List Implementations (otwiera si\u0119 na nowej zak\u0142adce)\" href=\"https:\/\/docs.oracle.com\/javase\/tutorial\/collections\/implementations\/list.html\" target=\"_blank\">List Implementations<\/a>. W poni\u017cszych przyk\u0142adach b\u0119d\u0119 u\u017cywa\u0142 ArrayList jako implementacji interfejsu java.util.List.<\/p>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\">Poni\u017cszy kod pokazuje i opisuje tworzenie listy.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"java\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">public class ListUsageMain {\n    public static void main(String[] args) {\n        \/\/ Deklaracja listy typu\/klasy String\n        \/\/ domy\u015blnie ArrayList przechowuje 10 element\u00f3w\n        \/\/ ---\n        \/\/ Wyja\u015bnienie element\u00f3w od lewej do prawej:\n        \/\/ - List - typ zmiennej umo\u017cliwiaj\u0105cej operacje na li\u015bcie\n        \/\/ - &lt;String> - typ generyczny listy, m\u00f3wi o tym jakie elementy mo\u017ce przechowywa\u0107 lista\n        \/\/ - colors - nazwa zmiennej\n        \/\/ = - przypisanie warto\u015bci do listy\n        \/\/ new - tworzenie obiektu\n        \/\/ ArrayList - typ listy\n        List&lt;String> colors = new ArrayList&lt;>();\n    }\n}<\/pre>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\">Poni\u017cszy kod pokazuje przypisanie i pobranie danych\/warto\u015bci dla listy.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"java\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">public class ListUsageMain {\n    public static void main(String[] args) {\n        List&lt;String> colors = new ArrayList&lt;>();\n        colors.add(\"black\");\n        colors.add(\"white\");\n        colors.add(\"red\");\n\n        System.out.println(\"Pierwszy element listy: \" + colors.get(0));\n        System.out.println(\"Drugi element listy: \" + colors.get(1));\n        System.out.println(\"Trzeci element listy: \" + colors.get(2));\n\n        System.out.println(\"Zawarto\u015b\u0107 ca\u0142ej listy: \" + colors);\n    }\n}<\/pre>\n\n\n<!DOCTYPE html PUBLIC \"-\/\/W3C\/\/DTD HTML 4.0 Transitional\/\/EN\" \"http:\/\/www.w3.org\/TR\/REC-html40\/loose.dtd\">\n<html><body><div class=\"wp-block-image\"><figure class=\"aligncenter size-medium\"><a href=\"https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2020\/04\/tablice-i-listy_00_konsola_02-a.png\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"164\" src=\"https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2020\/04\/tablice-i-listy_00_konsola_02-a-300x164.png\" alt=\"Tablice i listy \u2013 kod Java, IntelliJ, krok po kroku \u2013 dzia\u0142ania na li\u015bcie \u2013 konsola\" class=\"wp-image-656\" srcset=\"https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2020\/04\/tablice-i-listy_00_konsola_02-a-300x164.png 300w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2020\/04\/tablice-i-listy_00_konsola_02-a-600x328.png 600w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2020\/04\/tablice-i-listy_00_konsola_02-a-400x219.png 400w, https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2020\/04\/tablice-i-listy_00_konsola_02-a.png 642w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><figcaption>Tablice i listy \u2013 kod Java, IntelliJ, krok po kroku \u2013 dzia\u0142ania na li\u015bcie \u2013 konsola<\/figcaption><\/figure><\/div>\n<\/body><\/html>\n\n\n\n<p class=\"wp-block-paragraph\">Nieodzownym elementem tablic i list s\u0105 p\u0119tle, o kt\u00f3rych napisz\u0119 w kolejnych artyku\u0142ach.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ca\u0142o\u015b\u0107 kodu mo\u017cna znale\u017a\u0107 na:<\/p>\n\n\n<div class=\"github-embed github-embed-repository github-logo-mark\">\n<p>        <a href=\"https:\/\/github.com\/juniorjavadeveloper-pl\/java-arrays-lists\" target=\"_blank\">\t\t\t<strong>\t\t\t\tThis project shows how arrays and lists looks like in Java, and how to use them.\t\t\t<\/strong>\t\t<\/a>\t\t<br \/>        <a href=\"https:\/\/github.com\/juniorjavadeveloper-pl\/java-arrays-lists\" target=\"_blank\">https:\/\/github.com\/juniorjavadeveloper-pl\/java-arrays-lists<\/a><br \/>        <a href=\"https:\/\/github.com\/juniorjavadeveloper-pl\/java-arrays-lists\/network\" target=\"_blank\">1<\/a> forks.<br \/>        <a href=\"https:\/\/github.com\/juniorjavadeveloper-pl\/java-arrays-lists\/stargazers\" target=\"_blank\">0<\/a> stars.<br \/>        <a href=\"https:\/\/github.com\/juniorjavadeveloper-pl\/java-arrays-lists\/issues\" target=\"_blank\">0<\/a> open issues.        <\/p>\n<details open>\n<summary>Recent commits:<\/summary>\n<ul class=\"github_commits\">\n<li class=\"github_commit\">                        <a href=\"https:\/\/github.com\/juniorjavadeveloper-pl\/java-arrays-lists\/commit\/d32336a76cc1ea8084fe244ac0975832e013c39b\" target=\"_blank\">Arrays and lists usage example.<\/a>, Junior Java Developer Mentor                    <\/li>\n<li class=\"github_commit\">                        <a href=\"https:\/\/github.com\/juniorjavadeveloper-pl\/java-arrays-lists\/commit\/a9a440e477de56e4162e4c99fdd710a6d001e4c7\" target=\"_blank\">Initial commit<\/a>, GitHub                    <\/li>\n<\/ul>\n<\/details>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Zapraszam do regularnego odwiedzania mojej strony, b\u0119d\u0105 pojawia\u0107 si\u0119 kolejne artyku\u0142y oraz do kontaktu przez email kontakt(at)juniorjavadeveloper.pl.<\/p>","protected":false},"excerpt":{"rendered":"<p>Przyszed\u0142 czas na struktury danych takie jak tablice i listy. S\u0105 to struktury danych bardzo cz\u0119sto u\u017cywane w programowaniu, poniewa\u017c pozwalaj\u0105 przechowa\u0107 wi\u0119cej ni\u017c jeden obiekt danego typu oraz wykonywa\u0107 operacje na nich. Struktury danych brzmi &#8220;gro\u017anie&#8221;, ale tak na prawd\u0119 nie s\u0105 one skomplikowane. W poprzednich artyku\u0142ach opisa\u0142em teori\u0119 i pokaza\u0142em przyk\u0142ady kodu dotycz\u0105ce [&hellip;]<\/p>","protected":false},"author":1,"featured_media":658,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_ppp_document_settings_meta":"","footnotes":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false}}},"categories":[4,6,3,2,7],"tags":[],"class_list":["post-620","post","type-post","status-publish","format-standard","has-post-thumbnail","category-bez-kategorii","category-felieton","category-kod-java","category-poczatkujacy","category-poradnik"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/www.juniorjavadeveloper.pl\/wp-content\/uploads\/2020\/04\/tablice-i-listy_naglowek-s.jpg","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/www.juniorjavadeveloper.pl\/en\/wp-json\/wp\/v2\/posts\/620","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.juniorjavadeveloper.pl\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.juniorjavadeveloper.pl\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.juniorjavadeveloper.pl\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.juniorjavadeveloper.pl\/en\/wp-json\/wp\/v2\/comments?post=620"}],"version-history":[{"count":26,"href":"https:\/\/www.juniorjavadeveloper.pl\/en\/wp-json\/wp\/v2\/posts\/620\/revisions"}],"predecessor-version":[{"id":657,"href":"https:\/\/www.juniorjavadeveloper.pl\/en\/wp-json\/wp\/v2\/posts\/620\/revisions\/657"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.juniorjavadeveloper.pl\/en\/wp-json\/wp\/v2\/media\/658"}],"wp:attachment":[{"href":"https:\/\/www.juniorjavadeveloper.pl\/en\/wp-json\/wp\/v2\/media?parent=620"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.juniorjavadeveloper.pl\/en\/wp-json\/wp\/v2\/categories?post=620"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.juniorjavadeveloper.pl\/en\/wp-json\/wp\/v2\/tags?post=620"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}