whycomputer.com >> Rangkaian komputer >  >> Perisian

Cara Membuat Struktur Data Spreadsheet Java

Cara Membuat Struktur Data Spreadsheet Java

Jika anda hanya menggunakan satu array 2D untuk menyimpan data spreadsheet, anda akan mendapati operasi seperti menambah, memadam atau menyesuaikan saiz baris dan lajur memerlukan anda membina semula keseluruhan struktur data setiap kali. Untuk mengelakkan beban itu, lebih baik menggunakan struktur yang lebih fleksibel, iaitu LinkedList yang mengandungi LinkedList lain.

Dengan pendekatan ini, penambahan atau pemadaman baris/kolum dapat dilakukan secara cepat kerana hanya elemen tertentu yang perlu diubah. Paling sedikit, hanya sedikit kos prestasi apabila mengakses sel tertentu secara rawak.

Langkah 1

Buat fail Java baru dan namakan SpreadsheetStructure.java. Anda boleh menggunakan IDE kegemaran anda (File > New Class) atau Notepad Windows (Start > All Programs > Accessories > Notepad) dan menyimpan fail tersebut.

Langkah 2

Masukkan struktur asas berikut ke dalam fail:

public class Spreadsheet {
    LinkedList<LinkedList<String>> data = 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() {}

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

Struktur data ini ialah LinkedList baris, di mana setiap baris ialah LinkedList lajur.

Langkah 3

Isi konstruktor supaya spreadsheet bermula dengan satu baris dan satu lajur:

public Spreadsheet() {
    addRow();
    addColumn();
}

Langkah 4

Isi kedua-dua kaedah addRow:

public void addRow() {
    data.addLast(new LinkedList<>());
    for (int x = 0; x < getHeight(); x++) {
        data.getLast().add(new String());
    }
}

public void addRow(int index) {
    data.add(index, new LinkedList<>());
    for (int x = 0; x < getHeight(); x++) {
        data.get(index).add(new String());
    }
}

Langkah 5

Kaedah memadam baris:

public void removeRow(int index) {
    data.remove(index);
}

Langkah 6

Kaedah addColumn:

public void addColumn() {
    for (LinkedList<String> l : data) {
        l.addLast(new String());
    }
}

public void addColumn(int index) {
    for (LinkedList<String> l : data) {
        l.add(index, new String());
    }
}

Langkah 7

Kaedah memadam lajur:

public void removeColumn(int index) {
    for (LinkedList<String> l : data) {
        l.remove(index);
    }
}

Langkah 8

Set nilai sel:

public void setCell(int x, int y, String newData) {
    data.get(x).set(y, newData);
}

Langkah 9

Kaedah mendapatkan lebar dan tinggi spreadsheet:

public int getWidth() {
    return data.getFirst().size();
}

public int getHeight() {
    return data.size();
}

Langkah 10

Implementasikan toString supaya hasilnya menyerupai jadual:

public String toString() {
    String temp = "";
    for (LinkedList<String> l : data) {
        for (String s : l) {
            if (s.equals("")) s = "-empty-";
            temp += s + " ";
        }
        temp += "\n";
    }
    return temp;
}

Ujian dan Demo

Berikut ialah main yang menguji semua fungsi:

public static void main(String[] args) {
    Spreadsheet sheet = 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());
}

URL:https://ms.whycomputer.com/perisian/1015003315.html

Perisian
  • Cara Menyediakan Invois di eBay

    eBay ialah sebuah rumah lelong dalam talian di mana pengguna boleh membeli atau menjual barang di seluruh dunia. Untuk menerima bayaran bagi barang yang anda jual, anda perlu menghantar invois kepada pemenang. Invois mengandungi harga jualan, bayaran penghantaran dan pengendalian, serta cukai yang d

  • Cara Membuat Kalendar Daripada Data Spreadsheet

    Bagaimana Cara Membuat Kalendar Menggunakan Spreadsheet Dengan menggunakan spreadsheet seperti Microsoft Excel atau Google Sheets, anda dapat menghasilkan kalendar yang disesuaikan untuk pengurusan projek, kerja sukarela, atau aktiviti keluarga. Anda boleh mencipta semua 12 bulan dalam satu helaian

  • Cara Membuat Kunci PGP

    Pretty Good Privacy (PGP) adalah teknologi penyulitan yang digunakan untuk menghantar dan menerima mesej. Proses penyulitan ini dilaksanakan melalui perisian desktop. Apabila anda memasang perisian PGP, anda perlu menghasilkan satu kunci. Kunci PGP ini berfungsi sebagai kod untuk menyalahkan mesej y

Rangkaian komputer © https://ms.whycomputer.com