Szukam tego trochę i znalazłem mało informacji, więc wolę się Was zapytać:
jak się deklaruje i inicjalizuje kolekcję w Javie?
Z góry dzięki.
W jaki sposób tego szukałeś, że nie udało Ci się znaleźć?
https://www.google.pl/search?q=initialize+collection+java
ehh szukałem w artykułach na blogach programistycznych a nie wpadłem na pomysł, by wejść na stack overflow. Dzięki.
Kolekcja to bardzo ogólne określenie - może się odnosić do list, map, setów - a podkategorii jest od groma.
Najprostszy przykład to np. Lista:
(uwaga - w javie starszej niż SE7 trzeba deklarować generyka także w drugiej klamrze <>)
List<String> myList = new ArrayList<>();
Dobrą praktyką jest deklaracja interfejsu a nie konkretnej implementacji (myList to przed utworzeniem instancji List więc może przyjąć formę dowolnej implementacji, gdyby od razu ustawić to na ArrayList nie masz tego flexibility)
Jako typy podajemy opakowane obiekty, a nie prymitywy (np. Integer, a nie int)
No i później już obrabiasz, np:
myList.add("test");
Nie zapomnij o importach (importujemy z util, nie z awt).
Generalnie to podstawy podstaw, polecam zerknąć https://docs.oracle.com/javase/tutorial/collections/ zanim zaczniesz coś pisać i na ślepo przeklejać ze stackoverflow nie wiedząc tak naprawdę co się dzieje.
Dzięki :) Napisałeś więcej niż nawet trzeba :) Chodzi o to, że jutro mam test i podobno będzie takie pytanie (ogólnie o Kolekcjach - nie.o wybranym typie np. kolejce). Ogólnie mam problem, bo po prostu jestem trochę z tyłu i uczę się pewnych pojęć, a na tę chwilę nie potrafię tego zaimplementować w działającej aplikacji.
Co ciekawe, prosiłem o pomoc kolegę, który od niedawna pracuje jako programista Java oraz C++ i właściwie to nie januszsoft bo kasę dostaję z tej górnej półki jak na juniora a nie ogarnia tego tematu, bo nie używał w ogóle kolekcji w Javie. Więcej języki skryptowe i C++, no ale chyba junior powinien nawet teoretycznie takie rzeczy wiedzieć. No nic, obczaję dokumentację.
No to tak jak napisałem wyżej.
Deklaracja jest po lewej stronie równania, inicjalizacja zaś po prawej stronie (obok członu "new", to po prostu tworzenie instacji obiektu). Istnieje też wzorzec zwany lazy initialization:
(najpierw deklaracja)
List<Integer> exampleList;
(... i gdzieś tam dalej w kodzie)
exampleList = new LinkedList<>();