Egy múltkori java feladatom befejezésében segítenél?
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:
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.
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)
}
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!
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!
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);
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!