EnkeltLenketListe - uferdig 1
package hjelpeklasser;
import java.util.Iterator;
import java.util.Objects;
public class EnkeltLenketListe<T> implements Liste<T>
{
private static final class Node<T>
{
private T verdi;
private Node<T> neste;
private Node(T verdi,Node<T> neste)
{
this.verdi = verdi;
this.neste = neste;
}
}
private Node<T> hode, hale;
private int antall;
public EnkeltLenketListe()
{
hode = hale = null;
antall = 0;
}
@Override
public boolean leggInn(T verdi)
{
Objects.requireNonNull(verdi, "Ikke tillatt med null-verdier!");
if (antall == 0) hode = hale = new Node<>(verdi, null);
else hale = hale.neste = new Node<>(verdi, null);
antall++;
return true;
}
@Override
public void leggInn(int indeks, T verdi)
{
Objects.requireNonNull(verdi, "Ikke tillatt med null-verdier!");
indeksKontroll(indeks, true);
if (indeks == 0)
{
hode = new Node<>(verdi, hode);
if (antall == 0) hale = hode;
}
else if (indeks == antall)
{
hale = hale.neste = new Node<>(verdi, null);
}
else
{
Node<T> p = hode;
for (int i = 1; i < indeks; i++) p = p.neste;
p.neste = new Node<>(verdi, p.neste);
}
antall++;
}
@Override
public boolean inneholder(T t)
{
throw new UnsupportedOperationException("Ikke laget ennå!");
}
@Override
public T hent(int indeks)
{
throw new UnsupportedOperationException("Ikke laget ennå!");
}
@Override
public int indeksTil(T t)
{
throw new UnsupportedOperationException("Ikke laget ennå!");
}
@Override
public T oppdater(int indeks, T t)
{
throw new UnsupportedOperationException("Ikke laget ennå!");
}
@Override
public T fjern(int indeks)
{
throw new UnsupportedOperationException("Ikke laget ennå!");
}
@Override
public boolean fjern(T t)
{
throw new UnsupportedOperationException("Ikke laget ennå!");
}
@Override
public int antall()
{
throw new UnsupportedOperationException("Ikke laget ennå!");
}
@Override
public boolean tom()
{
throw new UnsupportedOperationException("Ikke laget ennå!");
}
@Override
public void nullstill()
{
throw new UnsupportedOperationException("Ikke laget ennå!");
}
@Override
public Iterator<T> iterator()
{
throw new UnsupportedOperationException("Ikke laget ennå!");
}
@Override
public String toString()
{
throw new UnsupportedOperationException("Ikke laget ennå!");
}
}