| 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);
List loytyneet;
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ä