Sådan oprettes en Java regneark data Struktur

Store regneark data med Java. nummer baggrundsbillede med Kuhar fra & lt; a href = 'http: //www.fotolia.com'> Fotolia.com & lt; / a & gt;

På det enkleste niveau, kan du oprette en datastruktur til et regneark i Java ved hjælp af en simpel 2D array.Men denne tilgang lader meget tilbage at ønske.Ideelt set bør et regneark datastruktur være i stand til effektivt at ændre størrelse, indsætte og slette hele rækker og kolonner, og disse operationer er beregningsmæssigt dyre i en Java-array, der kræver Java at genopbygge hele datastruktur fra bunden bag kulisserne, hver gang en sådanoperationen udføres.


stedet bør du bruge noget lidt mere sofistikeret: en sammenkædet liste over forbundne lister.Dette vil tillade indsættelse og fjernelse af rækker og kolonner samt ændring af størrelsen på bordet til at ske meget hurtigere.Dog vil det komme med en lille præstation omkostninger, når det drejer sig tid til at få adgang til specifikke celler i regnearket uden for tur.

Instruktioner

  1. Opret en ny Java-fil

    og navn det "SpreadsheetStructure.java."Hvis du har en favorit Integrated Development Environment (IDE), kan du gøre dette ved at klikke på "Filer", "Ny klasse."Alternativt kan du åbne Windows Notesblok ved at klikke på "Start", "Alle programmer," "Tilbehør", "Notesblok" og gemme filen med det filnavn.

  2. Opret din klasse-interface ved at indsætte følgende i den fil, du oprettede i trin 1. Resten af ​​trinene vil blive dedikeret til at udfylde kode for hver af de metoder, der er defineret i dette trin:

    public class regneark {

    LinkedList & amp; lt; LinkedList & gt;data = ny LinkedList & amp; lt; LinkedList & gt; ();

    offentlig Regneark () {}

    public void addRow () {}

    public void addRow (int index) {}

    public void removeRow (int index) {}

    public void removeColumn (int index) {}

    public void addColumn () {}

    public void addColumn (int index) {}

    public void setCell (int x, int y, String NewData) {}

    offentlige int getWidth () {}

    offentlige int getHeight() {}

    public String toString () {}

    / **

    * Test klassen,

    * /

    public static void vigtigste (String [] args) {}

    }

    Den grundlæggendedatastruktur vil være en LinkedList af rækker, der indeholder en LinkedList af kolonner.Selvom en simpel 2D-array ville være enklere at gennemføre, ville det også være meget langsommere for mange fælles regneark operationer, især indsættelse og sletning af rækker.

  3. Indsæt følgende koden mellem parenteserne af konstruktøren metoden, "regneark":

    offentlig Regneark () {

    addRow ();

    addColumn ();

    }

    Dette sikrer blot, at vi starter med mindst en enkelt række og kolonne.

  4. Indsæt følgende for at udfylde de to addRow metoder.Man tager ingen argumenter og automatisk tilføjer rækken ved slutningen af ​​regnearket, mens den anden giver brugeren mulighed for at angive, hvor at tilføje rækken:

    public void addRow () {

    data.addLast (nyt LinkedList & amp; lt; String & gt; ());

    for (int x = 0; x & amp; lt; getHeight (); x ++). {

    data.getLast tilføje () (nyt String ());

    }

    }

    public void addRow (int index) {

    data.add (indeks, nye LinkedList & amp; lt; String & gt; ());

    for (int x = 0; x & amp; lt; getHeight (); x ++) {

    data.get (indeks) .add (ny String ());

    }

    }

  5. Indsæt koden for at fjerne en række ind i din kildefil:

    public void removeRow (int index) {

    data.remove (index);

    }

  6. Indsæt koden for de to addColumn metoder.Disse funktion på samme måde som de addRow metoder - der er to, en til at tilføje en kolonne til slutningen af ​​arket og en for at indsætte en kolonne i midten:

    public void addColumn () {

    for (LinkedList l: data) {

    l.addLast (nyt String ());

    }

    }

    public void addColumn (int index) {

    for (LinkedList l: data) {

    l.add (indeks, ny String ());

    }

    }

  7. Indsæt koden til at fjerne kolonner:

    public void removeColumn (int index) {

    for (LinkedList l: data) {

    l.remove (index);

    }

    }

  8. Indsæt koden, der sætter indholdet af en given celle til en perlerække af data:

    public void setCell (int x, int y, String NewData) {

    data.get (x).sæt (y, NewData);.

    }

  9. Udfyld metoder til at få bredde og højde af regnearket:

    offentlige int getWidth () {

    returnere data.getFirst () størrelse ();

    }

    offentlige int getHeight () {

    returnere data.size ();

    }

  10. Gennemføre toString metode.Dette vil returnere en formateret streng viser, i en tabel af rækker og kolonner, dataene i regnearket:

    public String toString () {

    String temp = "";

    for (LinkedList l: data) {

    for (Object o: l) {

    String s = (String) o;

    hvis (s.equals ("")) s = "-tom-";

    temp + = s + "";

    }

    temp + = "\ n";

    }

    tilbagevenden temp;

    }

  11. Indsæt følgende vigtigste metode, der sætter regnearket datastruktur gennem sine hastigheder og sikrer alt fungerer som forventet:

    public static void vigtigste (String [] args) {

    regneark ark = nyt regneark ();

    System.out.println (sheet.toString ());

    System.out.print (sheet.getWidth ());

    System.out.print ("x");

    System.out.println (sheet.getHeight ());

    sheet.addRow ();

    System.out.print (sheet.getWidth ());

    System.out.print ("x");

    System.out.println (sheet.getHeight ());

    sheet.setCell (0,0, "1");

    sheet.setCell (0,1, "2");

    sheet.setCell (1,0 "3");

    sheet.setCell (1,1, "4");

    System.out.println (sheet.toString ());

    sheet.addColumn (1);

    sheet.setCell (1,0 "TEMP")

    sheet.setCell (1,1 "TEMP")

    System.out.println (sheet.toString ());

    sheet.removeRow (1);

    System.out.println (sheet.toString ());

    sheet.removeColumn (1);

    System.out.println (sheet.toString ());

    }

699
0
3
Java Programmering