Vitajte na [www.pocitac.win] Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy počítačový

Ako vytvoriť dátovú štruktúru tabuľky tabuľky Java

Na najjednoduchšej úrovni môžete vytvoriť dátovú štruktúru tabuľky v Java pomocou jednoduchého 2D poľa. Tento prístup však zostáva veľmi požadovaný. V ideálnom prípade by tabuľková dátová štruktúra mala byť schopná účinne meniť veľkosť, vkladať a odstraňovať celé riadky a stĺpce, a tieto operácie sú výpočtovo nákladné v poli Java, čo vyžaduje, aby Java znovu vytvorila celú dátovú štruktúru od nuly za scénami zakaždým, keď

Namiesto toho by ste mali použiť niečo trochu sofistikovanejšie: prepojený zoznam prepojených zoznamov. Umožní to vkladanie a odstraňovanie riadkov a stĺpcov, ako aj zmenu veľkosti tabuľky oveľa rýchlejšie. Keď však príde čas na prístup k určitým bunkám tabuľky, príde to s malými nákladmi na výkon.

Krok 1

Vytvorte nový súbor Java a pomenujte ho „SpreadsheetStructure. java ". Ak máte obľúbené integrované vývojové prostredie (IDE), môžete to urobiť kliknutím na Súbor, Nová trieda. Prípadne môžete otvoriť program Poznámkový blok systému Windows kliknutím na tlačidlo Štart, Všetky programy, Príslušenstvo, Poznámkový blok a uložte súbor s týmto názvom.

Krok 2

Vytvorte rozhranie triedy podľa: vloženie nasledujúceho do súboru, ktorý ste vytvorili v kroku 1. Ostatné kroky sa venujú vyplneniu kódu pre každú z metód definovaných v tomto kroku: tabuľka verejnej triedy {linkedList data \u003d new LinkedList (); public Spreadsheet () {} 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) {} public int getWidth () {} public int getHeight () {} public String toString () {} /** * Test triedy, * /public static void main (String [] args) {}} Základná dátová štruktúra bude Prepojený zoznam riadkov obsahujúcich Prepojený zoznam stĺpcov. Implementácia jednoduchého 2D poľa by bola jednoduchšia, ale pri mnohých bežných tabuľkových procesoch by bola oveľa pomalšia, najmä pri vkladaní a mazaní riadkov.

Krok 3

Vložte nasledujúci kód medzi zátvorky konštruktora. metóda, „tabuľka“: verejná tabuľka () {addRow (); addColumn (); } To jednoducho zabezpečí, že začneme aspoň jedným riadkom a stĺpcom.

Krok 4

Vyplňte nasledujúce metódy a vyplňte dve metódy addRow. Jeden neberie žiadne argumenty a automaticky pridá riadok na koniec tabuľky, zatiaľ čo druhý umožňuje užívateľovi určiť, kam pridať riadok: public void addRow () {data.addLast (new LinkedList ()); pre (int x \u003d 0; x ()); pre (int x \u003d 0; x

Krok 5

Vložte kód a odstráňte riadok do zdrojového súboru: public void removeRow (int index) {data.remove (index);}

Krok 6 - Vložte kód pre dve metódy addColumn Tieto fungujú podobne ako metódy addRow - existujú dve, jedna pre pridanie stĺpca na koniec hárku a druhá pre vloženie stĺpca do stredu: verejné neplatné addColumn () {for (LinkedList l: data) {l.addLast (new String ());}} public void addColumn (int index) {for (LinkedList l: data) {l.add (index, new String () );}}

Krok 7

Vložte kód na odstránenie stĺpcov: public void removeColumn (int index) {for (LinkedList l: data) {l.remove (index);}}

Krok 8

Vložte kód, ktorý nastavuje obsah danej bunky, do reťazca údajov: public void setCell (int x, int y, String newData) {data.get (x) .set (y, newData);}

Krok 9

Vyplňte metódy na získanie šírky a výšky tabuľky: public int getWidth () {retu "rn data.getFirst().size();", 3, [[} public int getHeight () {return data.size (); }

Krok 10

Implementujte metódu toString. Týmto sa vráti formátovaný reťazec zobrazujúci v tabuľke riadkov a stĺpcov údaje v tabuľke: public String toString () {String temp \u003d ""; pre (LinkedList l: data) {for (Object o: l) {String s \u003d (String) o; ak (s.equals ("")) s \u003d "-empty-"; temp + \u003d s + ""; } temp + \u003d "\\ n"; } návratná teplota; }

Prilepte nasledujúcu hlavnú metódu, ktorá prostredníctvom svojich krokov umiestni štruktúru údajov tabuľky a zabezpečí, aby všetko fungovalo podľa očakávania: public static void main (String [] args) {Spreadsheet sheet \u003d new Spreadsheet (); 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 ()); }

Copyright © počítačové znalosti Všetky práva vyhradené