Comment faire pour créer une feuille de calcul Structure de données Java

Au niveau le plus simple, vous pouvez créer une structure de données pour une feuille de calcul en Java en utilisant un tableau 2D simple. Cependant, cette approche laisse beaucoup à désirer. Idéalement, une structure de données de feuille de calcul devrait être capable de redimensionner efficacement, insérer et supprimer des lignes et des colonnes entières, et ces opérations sont coûteux en calcul dans un tableau Java, nécessitant Java pour reconstruire la structure de données à partir de zéro dans les coulisses à chaque fois une telle opération est effectuée.


Au lieu de cela, vous devez utiliser quelque chose d'un peu plus sophistiqué: une liste chaînée de listes chaînées. Cela permettra à l'insertion et le retrait de lignes et de colonnes ainsi que le redimensionnement de la table se produisent beaucoup plus rapidement. Cependant, il viendra avec un petit coût de performances lorsque vient le temps d'accéder à des cellules spécifiques de la feuille de calcul sur son tour.

Instructions

  1. 1

    Créez un nouveau fichier Java et nommez- "SpreadsheetStructure.java." Si vous avez un favori environnement de développement intégré (IDE), vous pouvez le faire en cliquant "Fichier," "Nouvelle classe." Alternativement, vous pouvez ouvrir le Notepad de Windows en cliquant sur "Démarrer," "Tous les programmes," "Accessoires," "Bloc-notes" et enregistrez le fichier avec ce nom de fichier.

  2. 2

    Créer votre interface de classe en collant le suivant dans le fichier que vous avez créé à l'étape 1. Le reste des étapes sera consacrée à remplir dans le code pour chacune des méthodes définies dans cette étape:

    public class Spreadsheet {

    LinkedList data = new LinkedList();

    Spreadsheet publique () {}

    addRow public void () {}

    addRow public void (int index) {}

    removeRow public void (int index) {}

    removeColumn public void (int index) {}

    addColumn public void () {}

    addColumn public void (int index) {}

    SetCell public void (int x, int y, String newData) {}

    public int getWidth () {}

    public int getHeight () {}

    public String toString () {}

    / **

    * Testez la classe,

    * /

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

    }

    La structure de base de données sera un LinkedList de lignes contenant une LinkedList de colonnes. Bien que un tableau 2D simple serait plus simple à mettre en œuvre, il serait également beaucoup plus lent pour de nombreuses opérations de feuille de calcul commune, en particulier l'insertion et suppression de lignes.

  3. 3

    Collez le code suivant entre les parenthèses de la méthode de constructeur, "Tableur":

    Spreadsheet publique () {

    addRow ();

    addColumn ();

    }

    Cela garantit simplement que nous commençons avec au moins une seule ligne et colonne.

  4. 4

    Collez le texte suivant à remplir les deux méthodes de addRow. On prend aucun argument et ajoute automatiquement la ligne à la fin de la feuille de calcul, tandis que l'autre permet à l'utilisateur de spécifier où ajouter la ligne:

    addRow public void () {

    data.addLast (new LinkedList());

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

    . data.getLast () ajouter (new String ());

    }

    }

    addRow public void (int index) {




    data.add (indice, new LinkedList());

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

    data.get (index) .add (new String ());

    }

    }

  5. 5

    Collez le code pour supprimer une ligne dans votre fichier source:

    removeRow public void (int index) {

    data.remove (index);

    }

  6. 6

    Collez le code pour les deux méthodes de addColumn. Ceux-ci fonctionnent de manière similaire aux méthodes de addRow - il y en a deux, l'un pour l'ajout d'une colonne à l'extrémité de la feuille et une pour l'insertion d'une colonne dans le milieu:

    addColumn public void () {

    pour (l LinkedList: données) {

    l.addLast (new String ());

    }

    }

    addColumn public void (int index) {

    pour (l LinkedList: données) {

    l.add (indice, new String ());

    }

    }

  7. 7

    Collez le code pour la suppression de colonnes:

    removeColumn public void (int index) {

    pour (l LinkedList: données) {

    l.remove (index);

    }

    }

  8. 8

    Coller le code qui définit le contenu d'une cellule donnée à un train de données:

    SetCell public void (int x, int y, String newData) {

    data.get (x) .set (y, newData);

    }

  9. 9

    Remplissez les méthodes pour obtenir la largeur et la hauteur de la feuille de calcul:

    public int getWidth () {

    retourner data.getFirst () size ().

    }

    public int getHeight () {

    retourner data.size ();

    }

  10. 10

    Mettre en œuvre la méthode toString. Ceci renverra une chaîne formatée afficher, dans un tableau de lignes et de colonnes, les données de la feuille:




    public String toString () {

    Chaîne temp = "";

    pour (l LinkedList: données) {

    pour (Object o: l) {

    String s = (String) o;

    si s.equals (("")) = S "-vide-";

    Temp + = s + " ";

    }

    Temp + = " N";

    }

    température de retour;

    }

  11. 11

    Collez la principale méthode suivante qui met la structure de données de feuille de calcul à travers ses allures et assure que tout fonctionne comme prévu:

    main (String [] args) {public static void

    feuille de tableur Spreadsheet = new ();

    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 ());

    }

» » » » Comment faire pour créer une feuille de calcul Structure de données Java