• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Arraylist przypisywanie

Object Storage Arubacloud
0 głosów
800 wizyt
pytanie zadane 5 marca 2016 w Java przez Mar Cin Dyskutant (8,900 p.)
	ArrayList lista=new ArrayList(6);

	
	for(int i=0; i<tablica.length; i++){
		
		if(tablica[i]>=a && tablica[i]<b){
			
			lista.add(i, tablica);
			System.out.println(lista.get(i));
	
		}

Cześć,coś niestety robię nie tak i nie mogę dodać żadnego elementu do listy.Proszę o pomoc:)

3 odpowiedzi

0 głosów
odpowiedź 5 marca 2016 przez Sareley Gaduła (4,740 p.)
wybrane 5 marca 2016 przez Mar Cin
 
Najlepsza

Problem jest w tej linijce:

lista.add(i, tablica);

Zamień ją na:

lista.add(i, tablica[i]);

Zwróć uwagę co wykonujesz w kodzie.

korzystasz z metody:

add(int index, Object object)

dodajesz do listy za każdym przejściem pętli na podanym indexie aktualny obiekt tablicy. Dzieje się tak dlatego że używasz niegenerycznej kolekcji.

Zamiast tego skorzystaj z generycznej wersji takiej kolekcji. Druga sprawa to to, że deklarowanie wielkości listy jest trochę bez sensu, listy są fajne właśnie dlatego że dynamicznie zwiększają swoją wielkość. Zobacz przykładowe użycie generycznej wersji tej samej listy.

// deklaracja
ArrayList<String> lista = new ArrayList<>();

// użycie w pętli
lista.add(tablica[i])

 

+1 głos
odpowiedź 5 marca 2016 przez Mikrokontroler xD Stary wyjadacz (13,500 p.)

Przecież 

ArrayList

jest typem generycznym i powineneś mieć określone co do tej listy wsadzasz np 

ArrayList<String> list = new ArrayList<>();

i do takiej tablicy dodajesz tylko i wyłącznie stringi :)

komentarz 5 marca 2016 przez Porcupine Nałogowiec (31,560 p.)

A tak najlepiej to by było chyba:

List<String> list = new ArrayList<>();

Żeby z polimorfizmu skorzystać :)

komentarz 5 marca 2016 przez Sareley Gaduła (4,740 p.)
Jest również wersja niegeryczna. Dlatego podany kod jest jak najbardziej poprawny ale w tej wersji przesyłany jest do kolekcji Object.
0 głosów
odpowiedź 5 marca 2016 przez Mar Cin Dyskutant (8,900 p.)
Dzięki wielkie Wszystkim za odpowiedź!

Podobne pytania

0 głosów
1 odpowiedź 167 wizyt
0 głosów
1 odpowiedź 417 wizyt
pytanie zadane 28 września 2018 w Java przez buczer Nowicjusz (120 p.)
+1 głos
1 odpowiedź 829 wizyt
pytanie zadane 23 października 2021 w Java przez DzikieHarce Użytkownik (690 p.)

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...