demo
Class TaulukkoGen<TYPE>

java.lang.Object
  extended by demo.TaulukkoGen<TYPE>
Type Parameters:
TYPE - tyyppi jota talletetaan
All Implemented Interfaces:
java.lang.Cloneable

public class TaulukkoGen<TYPE>
extends java.lang.Object
implements java.lang.Cloneable

Esimerkki dynaamisesta taulukosta

Version:
1.0, 02.03.2002, 1.1, 09.03.2002
Author:
Vesa Lappalainen

Field Summary
private  TYPE[] alkiot
           
private  int lkm
           
 
Constructor Summary
TaulukkoGen()
          Alustetaan oletuksen aluksi 10 kokoiseksi
TaulukkoGen(int koko)
          Alustetaan taulukko
 
Method Summary
 java.lang.Object clone()
          Palautetaan taulukon sisällöstä syväkopioinnilla luotu klooni
 boolean equals(java.lang.Object o)
          Verrataan taulukko toiseen taulukkoon
 TYPE get(int i)
          Palautetaan taulukon paikassa i oleva alkio
 void lisaa(TYPE uusi)
          Lisätään uusi alkio taulukkoon.
static void main(java.lang.String[] args)
          Testataan taulukkoa
 int poista(TYPE n)
          Poistetaan taulukosta kaikki alkiot jotka ovat n:n kanssa samanlaisia.
 void set(int i, TYPE uusi)
          Asetetaan taulukon i:n paikkaan uusi alkio
 java.lang.String toString()
          Palautetaan taulukko merkkijonona
 
Methods inherited from class java.lang.Object
finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

alkiot

private TYPE[] alkiot

lkm

private int lkm
Constructor Detail

TaulukkoGen

public TaulukkoGen()
Alustetaan oletuksen aluksi 10 kokoiseksi


TaulukkoGen

public TaulukkoGen(int koko)
Alustetaan taulukko

Parameters:
koko - alkukoko taulukolle
Method Detail

lisaa

public void lisaa(TYPE uusi)
Lisätään uusi alkio taulukkoon. Kasvatetaan kokoa jos tarvitsee.

Parameters:
uusi - lisättävä alkio

toString

public java.lang.String toString()
Palautetaan taulukko merkkijonona

Overrides:
toString in class java.lang.Object
Returns:
taulukko merkkijonona

set

public void set(int i,
                TYPE uusi)
         throws java.lang.IndexOutOfBoundsException
Asetetaan taulukon i:n paikkaan uusi alkio

Parameters:
i - mihin paikkaa esetetaan
uusi - uusi alkio
Throws:
java.lang.IndexOutOfBoundsException - jos indeksi väärin

get

public TYPE get(int i)
         throws java.lang.IndexOutOfBoundsException
Palautetaan taulukon paikassa i oleva alkio

Parameters:
i - missä paikassa oleva alkio otetaan
Returns:
paikassa i oleva alkio
Throws:
java.lang.IndexOutOfBoundsException - jos indeksi väärin

clone

public java.lang.Object clone()
                       throws java.lang.CloneNotSupportedException
Palautetaan taulukon sisällöstä syväkopioinnilla luotu klooni

Overrides:
clone in class java.lang.Object
Throws:
java.lang.CloneNotSupportedException
Example:
 #THROWS CloneNotSupportedException 
 #import demo.Int;
 #CLASSIMPORT 
  TaulukkoGen luvut = new TaulukkoGen();
  luvut.lisaa(new Int(0)); luvut.lisaa(new Int(2));
  luvut.lisaa(new Int(99));
  ;@SuppressWarnings("unchecked")
  TaulukkoGen taul = (TaulukkoGen)luvut.clone();
  luvut.toString() === " 0 2 99";
  taul.toString()  === " 0 2 99";
  luvut.get(1).set(3);
  luvut.toString() === " 0 3 99";
  taul.toString()  === " 0 2 99";
  luvut.lisaa(new Int(2)); luvut.lisaa(new Int(5)); 
  luvut.lisaa(new Int(2)); luvut.lisaa(new Int(6));
  luvut.toString() === " 0 3 99 2 5 2 6";
  taul.toString()  === " 0 2 99";
  taul.get(3).intValue() === 2; #THROWS IndexOutOfBoundsException
  luvut.poista(new Int(2)); 
  luvut.toString() === " 0 3 99 5 6";
  taul.toString()  === " 0 2 99";
 

poista

public int poista(TYPE n)
Poistetaan taulukosta kaikki alkiot jotka ovat n:n kanssa samanlaisia.

Parameters:
n - poistettava alkio
Returns:
taulukon uusi koko

equals

public boolean equals(java.lang.Object o)
Verrataan taulukko toiseen taulukkoon

Overrides:
equals in class java.lang.Object
Parameters:
o - verrattavan taulukon viite
Returns:
true jos sisällöt samoja

main

public static void main(java.lang.String[] args)
                 throws java.lang.CloneNotSupportedException
Testataan taulukkoa

Parameters:
args - ei käytössä
Throws:
java.lang.CloneNotSupportedException - jos kloonaus ei onnistu