Como criar uma estrutura de dados java planilha
Video: Estrutura de dados em Java: Agenda
Conteúdo
No nível mais simples, você pode criar uma estrutura de dados para uma planilha em Java usando uma matriz 2D simples. No entanto, esta abordagem deixa muito a desejar. Idealmente, uma estrutura de dados planilha deve ser capaz de redimensionar de forma eficiente, inserir e excluir linhas e colunas inteiras, e essas operações são computacionalmente caro em uma matriz Java, requerendo Java para reconstruir toda a estrutura de dados a partir do zero nos bastidores cada vez que tal a operação é realizada.
Em vez disso, você deve usar algo um pouco mais sofisticado: a lista ligada de listas ligadas. Isto irá permitir a inserção e remoção de linhas e colunas, bem como o redimensionamento da tabela para acontecer muito mais rapidamente. No entanto, ele virá com um custo de desempenho pequeno quando chega a hora de acessar células específicas da planilha fora do turno.
Criar um novo arquivo Java e nomeá-la "SpreadsheetStructure.java." Se você tem um favorito Integrated Development Environment (IDE), você pode fazer isso clicando "Arquivo," "Nova classe." Alternativamente, você pode abrir o Bloco de Notas do Windows clicando em "Começar," "Todos os programas," "Acessórios," "Bloco de anotações" e salvar o arquivo com o nome do arquivo.
Crie a sua interface de classe colando o seguinte no arquivo criado na Etapa 1. O restante das etapas será dedicado ao preenchimento do código para cada um dos métodos definidos nesta etapa:
Spreadsheet classe pública {
LinkedList<-ListaLigada&dados GT- = new LinkedList<-ListaLigada> - () - Planilha pública () {} 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 {} public void setCell (int x, int y, string newData) {} getWidth public int () {} getHeight public int () {} public string toString () {} / ** * testar a classe, * / public void main (String [] args) estáticos {}
}
A estrutura de dados de base será uma ListaLigada de linhas contendo uma ListaLigada de colunas. Apesar de uma matriz 2D simples seria mais simples de implementar, também seria muito mais lento para muitas operações comuns de folhas de cálculo, especialmente inserindo e excluindo linhas.
Cole o seguinte código entre parêntesis do método construtor, "Planilha":
Spreadsheet pública () {addRow () - addColumn () -}
Isso simplesmente garante que vamos começar com pelo menos uma única linha e coluna.
Video: Curso de Java - Aula 60 - Manipulando Planilhas - eXcript
Cole o seguinte para preencher os dois métodos AddRow. Um não tem argumentos e adiciona automaticamente a linha no final da planilha, enquanto o outro permite que o usuário especifique onde adicionar a linha:
addRow public void () {data.addLast (new LinkedList<-String> - ()) - para (int x = x 0- < getHeight () - x ++) {data.getLast (.) add (new String ()) -}} addRow public void (int index) {data.add (index, new LinkedList<-String> - ()) - para (int x = x 0- < getHeight () - x ++) {data.get (index) .add (new String ()) -}}
Video: Interface Gráfica Java no Netbeans - Aula #14 - Criando um JTable - Inserindo Dados
Cole o código para remover uma linha em seu arquivo de origem:
RemoveRow public void (int index) {data.remove (índice) -}
Cole o código para os dois métodos AddColumn. Estes funcionam de modo semelhante aos métodos AddRow - existem dois, um para a adição de uma coluna para a extremidade da folha e uma para a inserção de uma coluna no meio:
addColumn public void () {for (LinkedList l: dados) {l.addLast (new String ()) -}} void addColumn (int index) pública {for (LinkedList l: dados) {l.add (index, new String ()) -}}
Cole o código para remover colunas:
public void removeColumn (int index) {for (LinkedList l: dados) {l.remove (índice) -}}
Cole o código que define o conteúdo de uma determinada célula de uma cadeia de dados:
public void setCell (int x, int y, String newData) {data.get (x) .set (y, newData) -}
Preencha os métodos para obter a largura e altura da planilha:
public int getWidth () {return data.getFirst () size () -.} getHeight int público () {return data.size () -}
Implementar o método toString. Isso irá retornar uma string formatada exibindo, em uma tabela de linhas e colunas, os dados na planilha:
public String toString () {temperatura String = ""-para (ListaLigada l: dados) {para (Object o: l) {String s = (String) o-if (s.equals ("")) S = "-vazio-"-Temp + = s + " "-} + = temperatura " n"-} temp- retorno}
Video: Curso Estrutura de Dados e Algoritmos Java
Cole o seguinte método main que coloca a estrutura de dados de planilha com seus ritmos e garante que tudo funciona como esperado:
void main (String [] args) {folha public static Spreadsheet = 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 (folha. para sequenciar())-}
Referências
- ligação Java: LinkedList