ResultatSamling.java [Last ned]

import static java.lang.System.*;
 
 
/*
 *  Klasse for representasjon av et antall
 *  Resultat-objekt. Klassen har metoder for
 *  søk, innsetting og sletting.
 *
 */
public class ResultatSamling {
 
  private Resultat[] tabell;
  private int        nesteLedige;
 
 
  public ResultatSamling(int antall) {
    tabell = new Resultat[antall];
    nesteLedige = 0;
  }
 
 
  // Finner resultat, gitt kandidatnummer.
  // Returnerer null hvis objektet ikke finnes.
  public Resultat finn(int kandidatNr) {
    int pos = finnPos(kandidatNr);
    if (pos >= 0) // funnet!
      return tabell[pos];
    else
      return null;
  }
 
 
 
  // Setter inn et resultat bakerst. Returnerer false
  // hvis et resultat med samme kandidatnummer finnes,
  // eller det ikke er ledig plass, og true ellers.
  public boolean settInn(Resultat r) {
    boolean ny = finnPos(r.getKandidatNr()) == -1;
    if ( ny && nesteLedige < tabell.length ) {
      tabell[nesteLedige] = r;
      nesteLedige++;
      return true;
    }
    else
      return false;
  }
 
 
  // Sletter et resultat, gitt kandidatnummer. Returnerer
  // false hvis objektet ikke finnes, true ellers.
  public boolean slett(int kandidatNr) {
    int pos = finnPos(kandidatNr);
    if (pos >= 0) {
      nesteLedige--;
      tabell[pos] = tabell[nesteLedige];
      tabell[nesteLedige] = null;
      return true;
    }
    else
      return false;
  }
 
 
  public String toString() {
    String svar = "";
    for (int i=0; i<nesteLedige; i++)
      svar += tabell[i].toString() + "\n";
 
    return svar;
  }
 
 
  // Finner posisjonen til et Resultat-objekt, gitt et
  // kandidatnr. Leverer -1 hvis objektet ikke er der.
  private int finnPos(int kandidatNr) {
    boolean funnet = false;
    int pos = 0;
    while ( pos<nesteLedige && !funnet ) {
      if ( tabell[pos].getKandidatNr() == kandidatNr )
        funnet = true;
      else
        pos++;
    }
    if ( funnet )
      return pos;
    else
      return -1;
  }
 
}
Kildekode blir vist ved hjelp av GeSHi.