Back Up Next

Podatkovne strukture - Vector in Stack

 
v paketih java.util najdemo med drugim tudi nekaj podatkovnih struktur: 

BitSet - shranjevanje binarnih vrednosti;
ArrayList in LinkedList- seznama;
HashMap, WeakHashMap in TreeMap- slovar za shranjevanje vrednosti s ključi;
Hashtable- hash tabela;
HashSet in TreeSet- množice;
Vector- razširljiv seznam elementov;
Stack- sklad;
Za primer si na kratko oglejmo razreda Vector in Stack

razred Vector

razred java.util.Vector je razširljiv seznam, v katerem lahko shranjujemo poljubne objekte. Ko objekte dodajamo, vektor korakoma povečuje svojo kapaciteto;
elemente lahko dodajamo na poljubno mesto, jih iščemo, brišemo,...
Nekaj metod je predstavljenih s spodnjim primerom:

import java.util.Vector; // potrebno je uvoziti java.util.Vector

class testVector {
    public static void main(String argv[ ]) {
        Vector v=new Vector( ); // nov vektor
        Integer element;

        for (int i=0;i<10;i++)
            v.addElement(new Integer(i)); // dodajamo objekte na konec
        v.addElement("Niz 1");

        v.insertElementAt("Niz 2",5); // dodamo objekt na peto mesto
        v.setElementAt("Niz 3",10); // spremenimo objekt na 10. mestu

        boolean res=v.contains("Niz 1"); // ali vektor vsebuje objekt?

        int steviloElementov=v.size( ); // velikost vektorja

        element=(Integer)v.elementAt(4); // element na 4. mestu

        v.removeElementAt(3); // brišemo 3. element

        for (int i=0;i<v.size();i++)
            System.out.println(v.elementAt(i)); 
    }
}

razred Stack


razred java.util.Stack implementira sklad. Izpeljan je iz razreda Vector, vsebuje ma naslednje metode:

empty vrne true, če je sklad prazen;
peek vrne prvi objekt na skladu in ga ne zbriše;
pop vrne prvi objekt s sklada in ga zbriše;
push doda objekt na vrh sklada;
search najde objekt na skladu in vrne razdaljo od vrha do objekta;
import java.util.Stack;
class testStack {
    public static void main(String argv[ ]) {
        Stack v=new Stack( ); // nov sklad
        Integer top;

        for (int i=0;i<10;i++)
            v.push(new Integer(i)); // dodamo elemente

        top=(Integer)v.peek(); // vrhnji el., ga ne odstranimo

        v.pop(); // vzamemo vrhnji element dol
        top=(Integer)v.pop();

        while (!v.empty())
            System.out.println((Integer)v.pop());
    }
}     
Back Up Next