Kezdőoldal » Számítástechnika » Programozás » Egy múltkori java feladatom...

Egy múltkori java feladatom befejezésében segítenél?

Figyelt kérdés

https://www.gyakorikerdesek.hu/szamitastechnika__programozas..


A fenti linken van már a múltkori kérdésem ezzel kapcsolatban.

Barry Burd könyvében olvasgattam az Arraylistről, meg amit ajánlott a kommentelő, a HashSet kollekcióosztályról.


A problémám az lenne, hogy a könyvben, csak 1-2 szó esik erről a HashSet-ről.


Csatolom a programomat:


[link]


Ha valaki segítene abban, hogy, hogyan folytassam, és, ha még egy kevés magyarázó kommentet mellé írna nekem, azért nagyon hálás lennék!


Köszönöm az eddigi segítségeteket,


B.


2018. jún. 5. 09:35
 1/5 anonim ***** válasza:
100%

allBlock1 és allBlock2-vel nem értem mit szeretnél csinálni.


Elég, ha az eredeti tömbökből bepakolod az elemeket a HashSet-be

Set<Integer> unio = new HashSet<Integer>();


for (int i = 0; i < block1.length; i++) {

unio.add(block1[i])

}

for (int i = 0; i < block2.length; i++) {

unio.add(block2[i])

}


unio-ba minden elem egyszer szerepel.


Aztán ha akarod visszaírhatod listává:

List<Integer> list = new ArrayList<Integer>(union);


Azt pl lehet sortolni is, ha mondjuk nagyságrendben kellenének az elemek.


A for ciklust lehet tömöríteni is:

for (int v: block2) {

unio.add(v)

}

2018. jún. 5. 14:12
Hasznos számodra ez a válasz?
 2/5 A kérdező kommentje:

Jol veszem eszre, hogy a HashSet resze, hogy az elemeket vesszovel es 1 ures hellyel valasztja el + tomb jelolessel latja el az egeszet, ha kiiratom?


Szimpatikus fv. nagyon, ugyanis csak egy out.print(unio);-val ilyen szepen kiirt mindent nekem.


Koszonom!

2018. jún. 5. 20:02
 3/5 A kérdező kommentje:

A for ciklus roviditesrol utanajartam --> forEach

Oszinte leszek, nagyon nem tetszik, kevesbe atlathatobb, mint a szokasos for ciklus meghivasa. (Vagy csak azt szoktam meg..)


Viszont ezt az unio tombomet, hogyan tudonam sorbarendezni?


Minek nezzek utana?


Koszonom a segitsegedet nagyon, nagy vagy!

2018. jún. 5. 20:09
 4/5 A kérdező kommentje:

Megvan!


[link]

2018. jún. 5. 22:01
 5/5 anonim ***** válasza:

Bocs a lassú reagálásért :)


"HashSet resze, hogy az elemeket vesszovel es 1 ures hellyel valasztja el + tomb jelolessel latja el az egeszet, ha kiiratom?"


Az unio változó egy HashSet típusú objektum.

Minden objektumnak van egy toString függvénye az mondja meg, hogy kiíratásnál hogy fog kinézni.

Ez egy tulajdonsága az objektumnak, de nem ez a legfontosabb, hanem, hogy hogyan működik.

Persze az tök jó, ha értelmesen ki lehet íratni.


"forEach"


Ez egy hasznos dolog, barátkozz meg vele :)

Ahol nem kell az elem indexe ott ez rövidebb és átláthatóbb, ha megszoktad a használatát.

De vannak korlátjai.


"Viszont ezt az unio tombomet, hogyan tudonam sorbarendezni?"

A set típusban minden elem egyszer szerepel. Az elemeknek nincs sorrendje.

Ahhoz, hogy sorrendezz át kell alakítani pl listává.


List<Integer> list = new ArrayList<Integer>(unio);


Ezt sorrendezheted pl így:

Collections.sort(list)

System.out.println(list);

2018. jún. 6. 13:05
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!