Upozornenie
Toto je pôvodné prvé vydanie dokumentácie pre verziu knižnice grafického robota 1.0 beta. V súčasnosti už nie je aktuálne.
Novšie vydanie dokumentácie pre verziu 1.50 je publikované na nasledujúcej adrese:
http://cec.truni.sk/horvath/GRobot/
public static class Robot.Zoznam<Typ> extends Vector<Typ>
Vector<Typ>
a tak
podobne ako pri pôvodnom vektore je vytvorený zoznam možné prechádzať
konštrukciou:
for
(Typ prvok : zoznam)
{
prvok.metóda(…
…
}
Napríklad zoznam reťazcov vytvoríme a prejdeme takto:
Zoznamy sú dynamické – prvky je možné ľubovoľne pridávať a odoberať – táto trieda obsahuje širokú skupinu metód pokrývajúcu najdôležitejšie funkcie práce so zoznamom (pridávanie/vkladanie, odoberanie, nahrádzanie a vyhľadávanie…). Vnútorná správa zoznamu je v réžii Javy. Dôležité je upozorniť, že nie je dobré meniť zoznam (pridávanie/odoberanie prvkov) počas jeho prechádzania. Mohlo by dôjsť k nepredvídateľným vedľajším efektom.final
Zoznam
<String> zoznamMien =new
Zoznam
<String>(); zoznamMien.pridaj
("Adam"
); zoznamMien.pridaj
("Braňo"
); zoznamMien.pridaj
("Cyril"
); zoznamMien.pridaj
("Daniel"
);svet
.vypíšRiadok
("Zoznam mien:"
);for
(String meno : zoznamMien) {svet
.vypíšRiadok
(" >"
, meno); }
capacityIncrement, elementCount, elementData
modCount
Konštruktor a opis |
---|
Robot.Zoznam()
Vytvorí prázdny zoznam.
|
Robot.Zoznam(Collection<? extends Typ> c)
Vytvorí zoznam obsaujúci prvky zadanej kolekcie.
|
Robot.Zoznam(int počiatočnáKapacita)
Vytvorí prázdny zoznam s určenou počiatočnou kapacitou.
|
Robot.Zoznam(int počiatočnáKapacita,
int prírastokKapacity)
Vytvorí prázdny zoznam s určenou počiatočnou kapacitou a zadaným
prírastkom kapacity použitým na zväčšenie kapacity po dosiahnutí
aktuálneho limitu.
|
Robot.Zoznam(Typ... prvky)
Vytvorí zoznam obsahujúci zadané prvky.
|
Modifikátor a typ | Metóda a opis |
---|---|
boolean |
bolPrejdenyDokola()
![]() prejdenýDokola . |
boolean |
bolPrejdenýDokola()
![]() prejdenýDokola . |
Typ |
citaj()
![]() daj . |
Typ |
citaj(int kde)
![]() daj . |
Typ |
čítaj()
![]() daj . |
Typ |
čítaj(int kde)
![]() daj . |
Typ |
daj()
Vráti prvok na pozícii vnútorného počítadla
zoznamu.
|
Typ |
daj(int kde)
Vráti prvok na zadanej pozícii v zozname.
|
Typ |
dalsi()
![]() ďalší . |
Typ |
dalsiPrvok()
![]() ďalší . |
Typ |
ďalší()
Vráti ďalší prvok zoznamu.
|
Typ |
ďalšíPrvok()
![]() ďalší . |
int |
dlzka()
![]() veľkosť . |
int |
dĺžka()
![]() veľkosť . |
int |
hladaj(Object prvok)
![]() nájdi . |
int |
hľadaj(Object prvok)
![]() nájdi . |
int |
hladaj(Object prvok,
int začniOd)
![]() nájdi . |
int |
hľadaj(Object prvok,
int začniOd)
![]() nájdi . |
int |
hladajOdzadu(Object prvok)
![]() nájdiPosledný . |
int |
hľadajOdzadu(Object prvok)
![]() nájdiPosledný . |
int |
hladajOdzadu(Object prvok,
int začniOd)
![]() nájdiPosledný . |
int |
hľadajOdzadu(Object prvok,
int začniOd)
![]() nájdiPosledný . |
boolean |
jePrazdny()
![]() prázdny . |
boolean |
jePrázdny()
![]() prázdny . |
int |
kapacita()
Vráti aktuálnu kapacitu zoznamu.
|
Typ |
nahodny()
![]() náhodný . |
Typ |
náhodný()
Vráti náhodný prvok zoznamu.
|
Typ |
nahodnyPrvok()
![]() náhodný . |
Typ |
náhodnýPrvok()
![]() náhodný . |
void |
nahrad(int kde,
Typ prvok)
![]() prepíš . |
void |
nahraď(int kde,
Typ prvok)
![]() prepíš . |
int |
najdi(Object prvok)
![]() nájdi . |
int |
nájdi(Object prvok)
Vráti polohu prvého výskytu zadaného prvku v zozname alebo
-1 ak prvok nebol v zozname nájdený[1]. |
int |
najdi(Object prvok,
int začniOd)
![]() nájdi . |
int |
nájdi(Object prvok,
int začniOd)
Vráti polohu prvého výskytu zadaného prvku v zozname počnúc
štartovacou pozíciou zadanou v parametri
začniOd alebo
-1 ak prvok nebol v zozname nájdený[1]. |
int |
najdiPosledny(Object prvok)
![]() nájdiPosledný . |
int |
nájdiPosledný(Object prvok)
Vráti polohu posledného výskytu zadaného prvku v zozname alebo
-1 ak prvok nebol v zozname nájdený[1]. |
int |
najdiPosledny(Object prvok,
int začniOd)
![]() nájdiPosledný . |
int |
nájdiPosledný(Object prvok,
int začniOd)
Vráti polohu posledného výskytu zadaného prvku v zozname počnúc
štartovacou pozíciou zadanou v parametri
začniOd alebo
-1 ak prvok nebol v zozname nájdený. |
void |
nastav(int kde,
Typ prvok)
![]() prepíš . |
boolean |
obsahuje(Object prvok)
Zistí, či sa zadaný objekt nachádza v zozname[1].
|
void |
odober(int kde)
Odstráni prvok na zadanej pozícii.
|
boolean |
odober(Object prvok)
Odstráni zo zoznamu prvý výskyt prvku zhodného so zadaným
prvkom[1].
|
int |
pocet()
![]() veľkosť . |
int |
pocitadlo()
![]() počítadlo . |
void |
pocitadlo(int nováHodnota)
![]() počítadlo . |
void |
pocitadloNaKoniec()
![]() počítadloNaKoniec . |
void |
pocitadloNaZaciatok()
![]() počítadloNaZačiatok . |
int |
počet()
![]() veľkosť . |
int |
počítadlo()
|
void |
počítadlo(int nováHodnota)
|
void |
počítadloNaKoniec()
|
void |
počítadloNaZačiatok()
Nastaví vnútorné počítadlo zoznamu na polohu pred prvým prvkom
(
-1 ), aby najbližšie volanie metódy ďalší vrátilo prvý prvok zoznamu. |
Typ |
posledny()
![]() posledný . |
Typ |
posledný()
Vráti posledný prvok zoznamu.
|
Typ |
poslednyPrvok()
![]() posledný . |
Typ |
poslednýPrvok()
![]() posledný . |
boolean |
prazdny()
![]() prázdny . |
boolean |
prázdny()
Vráti
true vtedy a len vtedy, keď je zoznam prázdny,
inak vráti false . |
Typ |
predosly()
![]() predošlý . |
Typ |
predoslyPrvok()
![]() predošlý . |
Typ |
predošlý()
Vráti predošlý prvok zoznamu.
|
Typ |
predošlýPrvok()
![]() predošlý . |
boolean |
prejdenyDokola()
![]() prejdenýDokola . |
boolean |
prejdenýDokola()
|
void |
prepis(int kde,
Typ prvok)
![]() prepíš . |
void |
prepíš(int kde,
Typ prvok)
Nahradí prvok na zadanej pozícii zadaným prvkom.
|
void |
pridaj(int kde,
Typ prvok)
![]() vlož . |
void |
pridaj(Robot.Zoznam<Typ> inýZoznam)
Pridá zadaný zoznam na koniec tohto zoznamu podľa poradia určeného
zadaným zoznamom (jeho iterátorom).
|
void |
pridaj(Typ prvok)
Pridá zadaný prvok na koniec zoznamu.
|
Typ |
prvy()
![]() prvý . |
Typ |
prvý()
Vráti prvý prvok zoznamu.
|
Typ |
prvyPrvok()
![]() prvý . |
Typ |
prvýPrvok()
![]() prvý . |
int |
velkost()
![]() veľkosť . |
int |
veľkosť()
Vráti počet prvkov zoznamu.
|
void |
vloz(int kde,
Typ prvok)
![]() vlož . |
void |
vlož(int kde,
Typ prvok)
Vloží prvok na zadanú pozíciu v zozname.
|
Typ |
vrat()
![]() daj . |
Typ |
vráť()
![]() daj . |
Typ |
vrat(int kde)
![]() daj . |
Typ |
vráť(int kde)
![]() daj . |
void |
vymaz()
![]() vymaž . |
void |
vymaz(int kde)
![]() odober . |
void |
vymaž()
Odstráni všetky prvky zoznamu.
|
void |
vymaž(int kde)
![]() odober . |
add, add, addAll, addAll, addElement, capacity, clear, clone, contains, containsAll, copyInto, elementAt, elements, ensureCapacity, equals, firstElement, get, hashCode, indexOf, indexOf, insertElementAt, isEmpty, iterator, lastElement, lastIndexOf, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, removeAllElements, removeElement, removeElementAt, removeRange, retainAll, set, setElementAt, setSize, size, subList, toArray, toArray, toString, trimToSize
public Robot.Zoznam()
public Robot.Zoznam(Typ... prvky)
public Robot.Zoznam(Collection<? extends Typ> c)
c
– kolekcia, ktorej prvky sú použité na naplnenie zoznamupublic Robot.Zoznam(int počiatočnáKapacita)
počiatočnáKapacita
– počiatočná kapacita zoznamupublic Robot.Zoznam(int počiatočnáKapacita, int prírastokKapacity)
počiatočnáKapacita
– počiatočná kapacita zoznamuprírastokKapacity
– objem o ktorý sa zväčší kapacita
zoznamu po prekročení aktuálneho limitupublic int kapacita()
public int veľkosť()
public int počet()
veľkosť
.public int dĺžka()
veľkosť
.public int velkost()
veľkosť
.public int pocet()
veľkosť
.public int dlzka()
veľkosť
.public boolean prázdny()
true
vtedy a len vtedy, keď je zoznam prázdny,
inak vráti false
.true
/false
public boolean prazdny()
prázdny
.public boolean jePrázdny()
prázdny
.public boolean jePrazdny()
prázdny
.public void pridaj(Typ prvok)
prvok
– prvok, ktorý má byť pridaný na koniec zoznamupublic void pridaj(Robot.Zoznam<Typ> inýZoznam)
inýZoznam
– zoznam, ktorého prvky majú byť pridané na koniec
tohto zoznamupublic void vlož(int kde, Typ prvok)
kde
– poloha prvku v zozname – poradové číslo väčšie alebo
rovné nule a menšie alebo rovné veľkosti zoznamuprvok
– prvok, ktorý má byť vložený na zadanú pozíciupublic void prepíš(int kde, Typ prvok)
kde
– poloha prvku v zozname – poradové číslo väčšie alebo
rovné nule a menšie než veľkosť zoznamuprvok
– prvok, ktorým má byť určený prvok nahradenýpublic void vymaž()
public void vymaz()
vymaž
.public void odober(int kde)
kde
– poloha prvku odstraňovaného zo zoznamu – poradové číslo
väčšie alebo rovné nule a menšie než veľkosť zoznamupublic void vymaž(int kde)
odober
.public void vymaz(int kde)
odober
.public boolean odober(Object prvok)
[1] – ak chceme byť úplne presní,
povieme, že metóda odstráni prvý výskyt elementu v zozname, ktorý
voči zadanému prvku spĺňa nasledovnú podmienku: (prvok ==
null
? element ==
null
:
prvok.equals(element))
(ak taký element
jestvuje); podmienka sa snaží exaktne vyjadriť to, že ak je nami
zadaný prvok prázdny (null
), tak sa metóda pokúsi nájsť
a odstrániť prvý prázdny element v zozname, inak porovnáva obsahy
jednotlivých elementov zoznamu a odstráni ten, ktorého obsah
(hodnota) je ekvivalentný s obsahom nami zadaného prvku
prvok
– prvok, ktorý má byť zo zoznamu odstránený (ak sa
v ňom nachádza)true
ak zoznam zadaný prvok obsahovalpublic boolean obsahuje(Object prvok)
[1] – ak chceme byť úplne presní,
povieme, že metóda vráti logickú hodnotu true
iba
v prípade, že aspoň jeden element zoznamu vyhovuje podmienke (prvok ==
null
? element ==
null
: prvok.equals(element))
, kde
prvok
je nami zadaný prvok
a element
je porovnávaný prvok zoznamu
(metóda postupne prechádza jednotlivé elementy zoznamu a porovnáva
ich s nami zadaným prvkom); podmienka sa snaží exaktne vyjadriť to,
že ak je nami zadaný prvok prázdny (null
), metóda hľadá
výskyt prázdneho prvku v zozname, inak hľadá taký prvok, ktorého
obsah sa zhoduje s obsahom nami zadaného prvku
prvok
– prvok, ktorého výskyt v zozname má byť overenýtrue
public int počítadlo()
ďalší
a predošlý
. Vnútorné
počítadlo používa a nastavuje aj mnoho iných metód triedy Zoznam
.public int pocitadlo()
počítadlo
.public void počítadlo(int nováHodnota)
ďalší
a predošlý
.
Táto metóda kontroluje hodnotu počítadla tak, aby bola v rozsahu
{code num-1} až veľkosť
{code ()}, čo sú hraničné
hodnoty vhodné na použitie pri cyklickom prechádzaní zoznamu.
Ak chceme prechádzať zoznam od začiatku metódou
ďalší
, je šikovnejšie použiť metódu
počítadloNaZačiatok
a v prípade
prechádzania zoznamu od konca (metódou predošlý
) zase metódu počítadloNaKoniec
.
Nasledovný príklad ukazuje, ako prejsť číselný zoznam od konca.
Príklad:
final
Zoznam
<Integer> čísla =new
Zoznam
<Integer>(0
,8
,5
,4
); čísla.počítadloNaKoniec
(); Integer i = čísla.predošlýPrvok
();while
(!čísla.prejdenýDokola
()) {svet
.vypíš
(i," "
); i = čísla.predošlýPrvok
(); }
nováHodnota
– nová hodnota vnútorného počítadlapublic void pocitadlo(int nováHodnota)
počítadlo
.public void počítadloNaZačiatok()
-1
), aby najbližšie volanie metódy ďalší
vrátilo prvý prvok zoznamu.public void pocitadloNaZaciatok()
počítadloNaZačiatok
.public void počítadloNaKoniec()
public void pocitadloNaKoniec()
počítadloNaKoniec
.public Typ daj(int kde)
kde
– poloha prvku v zozname – poradové číslo väčšie alebo
rovné nule a menšie než veľkosť zoznamupublic Typ daj()
public Typ prvý()
public Typ posledný()
.
veľkosť
-
1
.) Zároveň nastaví vnútorné počítadlo
prvkov na index posledného prvku.public Typ ďalší()
prejdenýDokola
vráti true
.public Typ predošlý()
prejdenýDokola
vráti true
.
(Pri opise metódy počítadlo
je príklad
ukazujúci, ako prejsť zoznam čísel od konca. Príklad využíva aj túto
metódu.)public boolean prejdenýDokola()
true
, keď bol zoznam pri poslednom volaní metódy
ďalší
alebo predošlý
prejdený
dokola. Na výslednú hodnotu tejto metódy majú vplyv len spomenuté
dve metódy.
(Pri opise metódy počítadlo
je príklad
ukazujúci, ako prejsť zoznam čísel od konca. Príklad využíva aj
túto metódu.)true
/false
public boolean prejdenyDokola()
prejdenýDokola
.public boolean bolPrejdenýDokola()
prejdenýDokola
.public boolean bolPrejdenyDokola()
prejdenýDokola
.public Typ náhodný()
public int nájdi(Object prvok)
-1
ak prvok nebol v zozname nájdený[1].
[1] – ak chceme byť úplne presní,
povieme, že metóda vráti najnižší index i
pre ktorý platí
podmienka (prvok ==
null
? element ==
null
: prvok.equals(element))
(kde element
je prvok zoznamu na
pozícii i
) alebo -1
ak taký index nejestvuje;
podmienka sa snaží exaktne vyjadriť to, že ak je nami zadaný prvok
prázdny (null
), tak sa metóda pokúsi nájsť prvý prázdny
element v zozname, inak porovnáva obsahy jednotlivých elementov
zoznamu s obsahom nami zadaného prvku
prvok
– hľadaný prvok-1
ak prvok nebol nájdenýpublic int nájdi(Object prvok, int začniOd)
začniOd
alebo
-1
ak prvok nebol v zozname nájdený[1].
[1] – ak chceme byť úplne presní,
povieme, že metóda vráti najnižší index i
pre ktorý platí
podmienka (i >= začniOd && prvok ==
null
? element ==
null
:
prvok.equals(element))
(kde element
je prvok zoznamu na
pozícii i
) alebo -1
ak taký index nejestvuje;
podmienka sa snaží exaktne vyjadriť to, že ak je nami zadaný prvok
prázdny (null
), tak sa metóda pokúsi nájsť prvý prázdny
element v zozname (počnúc hľadanie od pozície začniOd
),
inak porovnáva obsahy jednotlivých elementov zoznamu s obsahom nami
zadaného prvku
prvok
– hľadaný prvokzačniOd
– pozícia v zozname od ktorej sa má začať hľadaťzačniOd
alebo -1
ak prvok nebol nájdenýpublic int nájdiPosledný(Object prvok)
-1
ak prvok nebol v zozname nájdený[1].
[1] – ak chceme byť úplne presní,
povieme, že metóda vráti najvyšší index i
pre ktorý platí
podmienka (prvok ==
null
? element ==
null
: prvok.equals(element))
(kde element
je prvok zoznamu na
pozícii i
) alebo -1
ak taký index nejestvuje;
podmienka sa snaží exaktne vyjadriť to, že ak je nami zadaný prvok
prázdny (null
), tak sa metóda pokúsi nájsť posledný
prázdny element v zozname, inak porovnáva obsahy jednotlivých
elementov zoznamu s obsahom nami zadaného prvku
prvok
– hľadaný prvok-1
ak
prvok nebol nájdenýpublic int najdiPosledny(Object prvok)
nájdiPosledný
.public int hľadajOdzadu(Object prvok)
nájdiPosledný
.public int hladajOdzadu(Object prvok)
nájdiPosledný
.public int nájdiPosledný(Object prvok, int začniOd)
začniOd
alebo
-1
ak prvok nebol v zozname nájdený.
[1] – ak chceme byť úplne presní,
povieme, že metóda vráti najvyšší index i
pre ktorý platí
podmienka (i <= začniOd && prvok ==
null
? element ==
null
:
prvok.equals(element))
(kde element
je prvok zoznamu na
pozícii i
) alebo -1
ak taký index nejestvuje;
podmienka sa snaží exaktne vyjadriť to, že ak je nami zadaný prvok
prázdny (null
), tak sa metóda pokúsi nájsť posledný
prázdny element v zozname (počnúc hľadanie od pozície začniOd
), inak porovnáva obsahy jednotlivých elementov zoznamu
s obsahom nami zadaného prvku
prvok
– hľadaný prvokzačniOd
– pozícia v zozname od ktorej sa má začať hľadaťzačniOd
alebo
-1
ak prvok nebol nájdený (vráti -1
), ak
je parameter začniOd
záporný)public int najdiPosledny(Object prvok, int začniOd)
nájdiPosledný
.public int hľadajOdzadu(Object prvok, int začniOd)
nájdiPosledný
.public int hladajOdzadu(Object prvok, int začniOd)
nájdiPosledný
.