Skip to content
Snippets Groups Projects
Commit 51ebec8e authored by Amanda's avatar Amanda
Browse files

changes

parent 8a8bc36d
No related branches found
No related tags found
No related merge requests found
......@@ -34,6 +34,11 @@ public class Kirja {
public void setJulkaisuVuosi(int julkaisuVuosi) {
this.julkaisuVuosi = julkaisuVuosi;
}
@Override
public Object clone() throws CloneNotSupportedException{
return super.clone();
}
}
......@@ -29,5 +29,14 @@ public class KirjaKokoelma {
public void lisaaKirja(Kirja teos) {
kirjaListaus.add(teos);
}
@Override
public Object clone() throws CloneNotSupportedException{
KirjaKokoelma k = (KirjaKokoelma) super.clone();
for(Kirja kirja : this.getKirjaListaus()){
k.lisaaKirja(kirja);
}
return k;
}
}
......@@ -56,6 +56,14 @@ public class Kirjasto {
}
sivukirjastot.add(input);
}
@Override
public Object clone() throws CloneNotSupportedException{
Kirjasto k = (Kirjasto)super.clone();
for (KirjaKokoelma kk : this.kokoelmat){
k.
}
}
}
List:
Lista sisältää elementtejä, joiden paikan määrittelee indeksi listassa. Listaan on helppo
lisätä tai postaa elementtejä, ja se sallii myös useat samanarvoiset elementit.
Set:
Set sisältää elementtejä, mutta niillä ei ole indeksiä tai muuta järjestystä määrittelevää tunnusta.
Set-tyyppiseen olioon ei voi myöskään säilyttää useita samanarvoisia olioita.
Queue:
Queue siältää elementtejä, mutta ne ovat nimensä mukaisesti ns. jonossa. Aina kun jonoon
lisätään elementti, se menee jonon perälle, ja aina kun siitä poistetaan elementti, se otetaan
jono päästä. Jonoon ei voi esim. lisätä tai poistaa keskeltä elementtejä. Jonon elementtien tarkastelu
onnistuu myös vain ns. jonon päästä, eli vain ensimmäiseksi lisätyn elementin (Jota ei olla poistettu jonosta)
arvon voi hakea.
List-tyyppiset oliot ovat käteviä, kun tarvitaan joustavaa ja helposti toimivaa listaa. Siihen on helppo lisätä ja
poistaa elementtejä, ja jokaisella elementillä on paikan kertova indeksi. Esimerkiksi ruokakaupan varastossa
saatetaan käyttää listaa, tai listoja, sillä kyseisen varaston tavaratilanne muuttuu jatkuvasti.
Set-tyyppi on taas hieman rajoittunemempi kuin List-tyyppi. Siihen saa lisättyä samoilla tavoilla
elementtejä kuten listaan, mutta olion elementeillä ei ole järjestystä, eli
niillä ei ole indeksilukua, tai muutakaaan arvoa, mikä kertoisi elementin järjestyksen. Kyseinen tyyppi voi
olla kuitenkin hyödyllinen tilanteissa, jossa yksittäinen elementti ei saa esiintyä kuin maksimissaan
kerran kokoelmassa. Esimerkiksi voitaisiin muodostaa set-olio, joka sisältää Suomessa esiintyvät nisäkkäät,
ja se sopisi hyvin jos pitäisi tarkistaa, että esiintyykö jokin nisäkäs suomessa.
Queue-tyyppinen olio on mahdollisesti rajoittunein verrattuna edellisiin. Yleisesti queue-oliot ovat hyviä,
jos elementtien käsittely lisäysjärjestyksessä on tärkeää. Esimerkiksi jollekkin virastolle tehdyt hakemukset
todennäköisesti käsiteltäisiin saapumisjärjestyksessä, ja hakemukset voitaisiin lisätä ja poistaa queue-oliosta
uusien hakemuksien saapuessa ja niitä käsiteltäessä.
\ No newline at end of file
Collection:
Collection-tyyppinen olio sisältää useita eri arvoja tai olioita itsessään, joita sanotaan
olion elementeiksi. Kyseisiä olioita voi useimmissa tapauksissa lisätä ja poistaa.
Elementtien sijainnin Collection-oliossa kertoo useimmiten indeksiluku.
Map:
Map-tyyppinen olio sisältää Collection-olion kanssa samoin tavoin arvoja tai muita olioita. Suurin ero
Collection-luokkaan verrattuna on se, että jokaisella elementillä on ns. avain kiinni itsessään,
jollin Map-tyyppiset oliot koostuvat avain-arvo-pareista.
Collection-tyyppinen olio on kätevmäpi, kun halutaan säilyttää useita erilaisia arvoja ilman, että
niistä tarvitsee tietää paljoa enempää. Collection-tyyppisen olion elementit on myös usein helpompaa käydä läpi
kuin Map-tyyppisen elementit. Esimerkiksi yrityksen varastojärjestelmässä voi olla järkevämpää käyttää Collection-
oliota. Tarvittaessa on myös helpompi esimerkiksi listata kaikki x-tyyppiset tuotteet mitä varastosta löytyy johtuen
yksinkertaisemmasta läpikäynnistä.
Map-tyyppinen olio on taas parempi, jos elementeistä täytyy pitää tiedossa myös muita tietoja. Koska map-oliossa
jokaisella elementillä on oma avaimensa millä sen tunnistaa, niin erilaisten olioiden arvon hankkiminen voi olla
helpompaa. Esimerkiksi parkkipaikkavarausjärjestelmässä voisi olla map-tyyppinen olio, joka koostuu auton
rekisterinumerosta ja parkkipaikasta. Tällöin vaikkapa oikean rekisterinumeron tarkistus onnistuu helposti
tarkistamalla kyseisen parkkipaikan avaimen, ja vertaamalla sitä siihen parkkeeratun auton rekisterinumeroon.
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment