Tabela v Javi

Iz E-študij, proste zakladnice študentskega znanja

Skoči na: navigacija, iskanje
Članek govori o tabelah (class Arrays) v Javi.

Vsebina

Lastnosti

  1. Tabele so objekti.
  2. Tabele se tvorijo (kreirajo) dinamično.
  3. Tabele so lahko prirejene objektom tipa Object.
  4. Vsaka metoda na objektom tipa Object se lahko uporabi nad tabelo.
  5. Tabela vsebuje zaporedje spremenljivk določene vrste.
  6. Spremenljivke imenujemo elementi tabele.
  7. Če je tip elementa Type, potem je tip tabele Type[].
  8. Vsebina spremenljivke tipa tabela je naslov (referenca) na tabelo.
  9. Element tabele je lahko tudi tabela.
  10. Element tabele je lahko osnovnega tipa ali objekt (naslov).
  11. Dolžina tabele je enaka številu elementov tabele.
  12. Dolžina tabele je določena ob kreiranju in je nespremenljiva.
  13. Dolžino tabele lahko preberemo s pomočjo spremenljivke length.
  14. Indeksi tabele tečejo med 0 in length-1.
  15. Prekoračitev sproži izjemo ArrayIndexOutOfBoundsException.
  16. Indeks je lahko tipa int, short, byte ali char.
  17. Za (popolno) kopiranje tabel uporabljamo metodo Object.clone().
  18. Za preverjanje enakosti uporabljamo metodo Arrays.equals().
  19. Tabele implementirajo lastnosti (vmesnik) Clonable in Serializable.

Razred

Razred Arrays (java.util.Arrays)

Metode

  • public static List asList (Object[])
  • public static int binarySearch (...)
  • public static boolean equals (...)
  • public static void fill (...)
  • public static void sort (...)

... – tabela kateregakoli osnovnega tipa (razen boolean) ali Object

Primer

import java.util.Arrays;
 
public class Tabele
{ 
  public static void main(String[] args)
  { 
    char[] a = new char[20];
 
    // polnjenje tabele s crko A
    Arrays.fill(a,'A');
 
    String s = new String(a);
    System.out.println("s = \"" + s + "\"");
 
    Object[] objects = new Object[8];
 
    // polnjenje dela tabele z besedo "FRI"
    Arrays.fill(objects,2,5,"FRI");
 
   // izpis tabele s pomocjo pretvorbe v seznam   
    System.out.println("objects = " + Arrays.asList(objects));
 
    int[] x = { 77, 44, 99, 88, 22, 33, 66, 55 };
    // kopiranje (kloniranje) tabele 
    int[] y = (int[])x.clone();
 
    System.out.print("x = ");  print(x);
    System.out.print("y = ");  print(y);
 
    // preverjanje metode equals
    System.out.println("Arrays.equals(x,y) = " + Arrays.equals(x,y));
    System.out.println("y.equals(x) = " + y.equals(x));
 
    y[4] = 0;
    System.out.print("y = ");  print(y);
    System.out.println("Arrays.equals(x,y) = " + Arrays.equals(x,y));
    System.out.print("x = ");  print(x);
 
    // sortiranje tabele
    Arrays.sort(x);
    System.out.print("x = ");  print(x);
 
    // Iskanje z bisekcijo
    int i = Arrays.binarySearch(x,44);
    System.out.println("Arrays.binarySearch(x,44) = " + i);
 
    i = Arrays.binarySearch(x,47);
    System.out.println("Arrays.binarySearch(x,47) = " + i);
 
    // Napaka! Iskanje v neurejeni tabeli 
    System.out.print("y = ");  print(y);
 
    i = Arrays.binarySearch(y,0);
    System.out.println("Arrays.binarySearch(y,0) = " + i);
 
    i = Arrays.binarySearch(y,44);
    System.out.println("Arrays.binarySearch(y,44) = " + i);
 
    i = Arrays.binarySearch(y,22);
    System.out.println("Arrays.binarySearch(y,22) = " + i);
  }
 
  private static void print(int[] a)
  { 
    System.out.print("{ " + a[0]);
    for (int i=1; i<a.length; i++)
      System.out.print(", " + a[i]);
    System.out.println(" }");
  }
}
Osebna orodja
Imenski prostori
Različice
Dejanja
navigacija

Tiskanje/izvoz
orodja