Modifier and Type | Class and Description |
---|---|
class |
Jasenet.JasenetIterator
Luokka jäsenten iteroimiseksi.
|
Constructor and Description |
---|
Jasenet()
Oletusmuodostaja jolla tulee täysin dynaaminen koko.
|
Jasenet(int koko)
Muodostaja jolla maxkoko voidaan asettaa.
|
Modifier and Type | Method and Description |
---|---|
Jasen |
anna(int i)
Palauttaa viitteen i:teen jäseneen.
|
Jasen |
annaId(int id)
Etsii jäsenen id:n perusteella
|
java.util.Collection<Jasen> |
etsi(java.lang.String hakuehto,
int k)
Palauttaa "taulukossa" hakuehtoon vastaavien jäsenten viitteet
|
int |
etsiId(int id)
Etsii jäsenen id:n perusteella
|
java.lang.String |
getBakNimi()
Palauttaa varakopiotiedoston nimen
|
java.lang.String |
getKokoNimi()
Palauttaa Kerhon koko nimen
|
int |
getLkm()
Palauttaa kerhon jäsenten lukumäärän
|
java.lang.String |
getTiedostonNimi()
Palauttaa tiedoston nimen, jota käytetään tallennukseen
|
java.lang.String |
getTiedostonPerusNimi()
Palauttaa tiedoston nimen, jota käytetään tallennukseen
|
java.util.Iterator<Jasen> |
iterator()
Palautetaan iteraattori jäsenistään.
|
void |
korvaaTaiLisaa(Jasen jasen)
Korvaa jäsenen tietorakenteessa.
|
void |
lisaa(Jasen jasen)
Lisää uuden jäsenen tietorakenteeseen.
|
void |
lueTiedostosta(java.lang.String tied)
Lukee jäsenistön tiedostosta.
|
static void |
main(java.lang.String[] args)
Testiohjelma jäsenistölle
|
int |
poista(int id)
Poistaa jäsenen jolla on valittu tunnusnumero
|
void |
setTiedostonPerusNimi(java.lang.String tied)
Asettaa tiedoston perusnimen ilan tarkenninta
|
void |
talleta()
Tallentaa jäsenistän tiedostoon.
|
public Jasenet()
public Jasenet(int koko)
koko
- jäsenistön maxkokopublic void lisaa(Jasen jasen) throws SailoException
jasen
- lisättävän jäsenen viite. Huom tietorakenne muuttuu omistajaksiSailoException
- jos määrä ylittää pyydetyn maksimirajan#THROWS SailoException #PACKAGEIMPORT Jasenet jasenet = new Jasenet(5); Jasen aku1 = new Jasen(), aku2 = new Jasen(); jasenet.getLkm() === 0; jasenet.lisaa(aku1); jasenet.getLkm() === 1; jasenet.lisaa(aku2); jasenet.getLkm() === 2; jasenet.lisaa(aku1); jasenet.getLkm() === 3; jasenet.anna(0) === aku1; jasenet.anna(1) === aku2; jasenet.anna(2) === aku1; jasenet.anna(1) == aku1 === false; jasenet.anna(1) == aku2 === true; jasenet.anna(3) === aku1; #THROWS IndexOutOfBoundsException jasenet.lisaa(aku1); jasenet.getLkm() === 4; jasenet.lisaa(aku1); jasenet.getLkm() === 5; jasenet.lisaa(aku1); #THROWS SailoException jasenet = new Jasenet(); for (int i=0; i<200; i++) { jasenet.lisaa(aku1); jasenet.getLkm() === 2*i+1; jasenet.lisaa(aku2); jasenet.getLkm() === 2*i+2; }
public int poista(int id)
id
- poistettavan jäsenen tunnusnumero#THROWS SailoException Jasenet jasenet = new Jasenet(5); Jasen aku1 = new Jasen(), aku2 = new Jasen(), aku3 = new Jasen(); aku1.rekisteroi(); aku2.rekisteroi(); aku3.rekisteroi(); int id1 = aku1.getTunnusNro(); jasenet.lisaa(aku1); jasenet.lisaa(aku2); jasenet.lisaa(aku3); jasenet.poista(id1+1) === 1; jasenet.etsiId(id1+1) === -1; jasenet.getLkm() === 2; jasenet.poista(id1) === 1; jasenet.getLkm() === 1; jasenet.poista(id1+3) === 0; jasenet.getLkm() === 1;
public void korvaaTaiLisaa(Jasen jasen) throws SailoException
jasen
- lisätäävän jäsenen viite. Huom tietorakenne muuttuu omistajaksiSailoException
- jos tietorakennen on jo täynnä
#THROWS SailoException,CloneNotSupportedException #PACKAGEIMPORT Jasenet jasenet = new Jasenet(); Jasen aku1 = new Jasen(), aku2 = new Jasen(); aku1.rekisteroi(); aku2.rekisteroi(); jasenet.getLkm() === 0; jasenet.korvaaTaiLisaa(aku1); jasenet.getLkm() === 1; jasenet.korvaaTaiLisaa(aku2); jasenet.getLkm() === 2; Jasen aku3 = aku1.clone(); aku3.aseta(3,"kkk"); jasenet.anna(0) == aku1 === true; jasenet.korvaaTaiLisaa(aku3); jasenet.getLkm() === 2; jasenet.anna(0) === aku3; jasenet.anna(0) == aku3 === true; jasenet.anna(0) == aku1 === false;
public Jasen anna(int i) throws java.lang.IndexOutOfBoundsException
i
- monennenko jäsenen viite halutaanjava.lang.IndexOutOfBoundsException
- jos i ei ole sallitulla alueellapublic void lueTiedostosta(java.lang.String tied) throws SailoException
tied
- tiedoston nimen alkuosaSailoException
- jos lukeminen epäonnistuu#THROWS SailoException #import java.io.File; Jasenet jasenet = new Jasenet(); Jasen aku1 = new Jasen(), aku2 = new Jasen(); aku1.vastaaAkuAnkka(); aku2.vastaaAkuAnkka(); String tiedNimi = "testikelmit"; File ftied = new File(tiedNimi+".dat"); ftied.delete(); jasenet.lueTiedostosta(tiedNimi); #THROWS SailoException jasenet.lisaa(aku1); jasenet.lisaa(aku2); jasenet.talleta(); jasenet = new Jasenet(); // Poistetaan vanhat luomalla uusi jasenet.lueTiedostosta(tiedNimi); // johon ladataan tiedot tiedostosta. Iteratori = jasenet.iterator(); i.next().toString() === aku1.toString(); i.next().toString() === aku2.toString(); i.hasNext() === false; jasenet.lisaa(aku2); jasenet.talleta(); ftied.delete() === true; File fbak = new File(tiedNimi+".bak"); fbak.delete() === true;
public void talleta() throws SailoException
Kelmien kerho 20 ; kommenttirivi 2|Ankka Aku|121103-706Y|Ankkakuja 6|12345|ANKKALINNA|12-1234|||1996|50.0|30.0|Velkaa Roopelle 3|Ankka Tupu|121153-706Y|Ankkakuja 6|12345|ANKKALINNA|12-1234|||1996|50.0|30.0|Velkaa Roopelle
SailoException
- jos talletus epäonnistuupublic java.lang.String getKokoNimi()
public int getLkm()
public java.lang.String getTiedostonPerusNimi()
public void setTiedostonPerusNimi(java.lang.String tied)
tied
- tallennustiedoston perusnimipublic java.lang.String getTiedostonNimi()
public java.lang.String getBakNimi()
public java.util.Iterator<Jasen> iterator()
iterator
in interface java.lang.Iterable<Jasen>
public java.util.Collection<Jasen> etsi(java.lang.String hakuehto, int k)
hakuehto
- hakuehtok
- etsittävän kentän indeksi#THROWS SailoException Jasenet jasenet = new Jasenet(); Jasen jasen1 = new Jasen(); jasen1.parse("1|Ankka Aku|030201-115H|Ankkakuja 6|"); Jasen jasen2 = new Jasen(); jasen2.parse("2|Ankka Tupu||030552-123B|"); Jasen jasen3 = new Jasen(); jasen3.parse("3|Susi Sepe|121237-121V||131313|Perämetsä"); Jasen jasen4 = new Jasen(); jasen4.parse("4|Ankka Iines|030245-115V|Ankkakuja 9"); Jasen jasen5 = new Jasen(); jasen5.parse("5|Ankka Roope|091007-408U|Ankkakuja 12"); jasenet.lisaa(jasen1); jasenet.lisaa(jasen2); jasenet.lisaa(jasen3); jasenet.lisaa(jasen4); jasenet.lisaa(jasen5); Listloytyneet; loytyneet = (List )jasenet.etsi("*s*",1); loytyneet.size() === 2; loytyneet.get(0) == jasen4 === true; loytyneet.get(1) == jasen3 === true; loytyneet = (List )jasenet.etsi("*7-*",2); loytyneet.size() === 2; loytyneet.get(0) == jasen5 === true; loytyneet.get(1) == jasen3 === true;
public Jasen annaId(int id)
id
- tunnusnumero, jonka mukaan etsitään#THROWS SailoException Jasenet jasenet = new Jasenet(5); Jasen aku1 = new Jasen(), aku2 = new Jasen(), aku3 = new Jasen(); aku1.rekisteroi(); aku2.rekisteroi(); aku3.rekisteroi(); int id1 = aku1.getTunnusNro(); jasenet.lisaa(aku1); jasenet.lisaa(aku2); jasenet.lisaa(aku3); jasenet.annaId(id1 ) == aku1 === true; jasenet.annaId(id1+1) == aku2 === true; jasenet.annaId(id1+2) == aku3 === true;
public int etsiId(int id)
id
- tunnusnumero, jonka mukaan etsitään#THROWS SailoException Jasenet jasenet = new Jasenet(5); Jasen aku1 = new Jasen(), aku2 = new Jasen(), aku3 = new Jasen(); aku1.rekisteroi(); aku2.rekisteroi(); aku3.rekisteroi(); int id1 = aku1.getTunnusNro(); jasenet.lisaa(aku1); jasenet.lisaa(aku2); jasenet.lisaa(aku3); jasenet.etsiId(id1+1) === 1; jasenet.etsiId(id1+2) === 2;
public static void main(java.lang.String[] args)
args
- ei käytössä