Skip to content

henriqueotogami/data-structure

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Estrutura de Dados em Java

Henrique Otogami

Início: 26-11-2024

Readme versão 5.0



GitHub last commit


wakatime

Descrição

Repositório dedicado aos estudos de estrutura de dados em Java e sem framework.


Sumário

Classes Principais

  • Fila | Queue.java
  • Lista Encadeada | LinkedList.java
  • Nó | Node.java
  • Vetor | Vector.java
  • Pilha | Stack.java
  • Fila com Prioridade | QueuePriority.java

Classes Auxiliares

  • Valores padrão | DefaultValues.java
  • Mapeamento de tipos de dados | MapTypes.java
  • Utilidades | Utils.java
  • Lista Estática | QueueStatic.java
  • Pilha Estática | SecondStack.java
  • Estrutura Estática | StaticStructure.java

Exercícios

  • Lista de Contatos | ListContacts.java
  • Empilhar e Desempilhar Números | PushAndPullNumbers.java
  • Fila com Prioridade de Pronto Socorro | QueueEmergencyRoom.java
  • Fila com Prioridade de Hospital | QueueHospital.java
  • Fila de Impressora | QueuePrinter.java

Testes Unitários

  • Testes de Fila | QueueTest.java
  • Testes de Lista Encadeada | LinkedListTest.java
  • Testes de Vetor | VectorTest.java
  • Testes de Pilha | StackTest.java
  • Testes de Fila com Prioridade | QueuePriorityTest.java

Resumos

Implementação de Fila | Queue.java

Métodos:

  • addElement(Object): void
  • contains(Object): boolean
  • eraseAllElements(): boolean
  • getAllElements(): Object[]
  • getElement(int): Object
  • getObjectType(Object): String
  • getSize(): int
  • isEmpty(): boolean
  • removeElement(int): boolean
  • searchElement(Object): int
  • searchElement(Object[], Object): int
  • setAllElements(Object[]): void
  • toString(Object): String

Testes Unitários:

  • addElementTest(): void
  • containsTest(): void
  • createQueueTest(): void
  • isEmptyTest(): void
  • removeElementTest(): void
  • searchElementTest(): void
  • toStringTest(): void

Implementação de Lista Encadeada | LinkedList.java

Métodos:

  • append(Node element): void
  • append(T element): void
  • append(int position, T element): void
  • appendBegin(T element): void
  • appendMiddle(int position, T element): void
  • getSize(): int
  • getLastIndex(): int
  • isEmpty(): boolean
  • isInvalidPosition( int position): boolean
  • clear(): void
  • removeFirstElement(): T
  • removeLastElement(): T
  • removeElement(int position): T
  • searchNode(int position): Node
  • searchElementByPosition( int position): T
  • searchElement(T element): int
  • toString(): String
  • getClassName(): String

Testes Unitários:

  • createEmptyListTest(): void
  • createFullListTest(): void
  • appendTest(): void
  • clearTest(): void
  • clearEmptyListTest(): void
  • searchElementTest(): void
  • searchElementNonExistentTest(): void
  • appendBeginTest(): void
  • appendMiddleTest(): void
  • appendEndTest(): void
  • appendOutOfBoundsTest(): void
  • removeFirstElementTest(): void
  • removeLastElementTest(): void
  • removeElementTest(): void
  • removeElementOutOfBoundsTest(): void
  • removeFirstElementEmptyListTest(): void
  • removeEndElementEmptyListTest(): void
  • createFullListTest(): void
  • createFullListTest(): void
  • createFullListTest(): void

Implementação de Nó | Node.java

Métodos:

  • getElement(): T
  • setElement(T element): void
  • getNextElement(): Node
  • setNextElement(Node nextObject): void
  • toString(): String
  • getClassName(): String
Implementação de Mapeamento de tipos de dados | MapTypes.java

Métodos:

  • getObjectArrayToString(Object element, String elementType): String
  • getPrimitiveArrayToString(Object element, String elementType): String
  • getObjectToString(Object element, String elementType): String
  • getPrimitiveToString(Object element, String elementType): String
  • getElementContentsToString(Object[] objectArray): String
  • getElementContentsToString(Object element): String
  • getGroup(String typeElement): String
  • getObjectType(Object element): String
Implementação de Vetores | Vector.java

Métodos:

  • append(int position, T element): void
  • append(T element): void
  • clear(): void
  • contains(int position): boolean
  • contains(T element): boolean
  • getElements(): T[]
  • getEmptyIndexes(): int[]
  • getLastIndexOfElement(T element): int
  • getSize(): int
  • increaseCapacity(): void
  • isFoundElement(T element): boolean
  • remove(int position): void
  • remove(T element): void
  • searchByElement(T element): int
  • searchByPosition(int position): T
  • toString(): String

Testes unitários:

  • appendElementsTest(): void
  • appendTest(): void
  • clearTest(): void
  • containsByElementTest(): void
  • containsByPositionTest(): void
  • createVectorTest(): void
  • getEmptyIndexesTest(): void
  • increaseCapacityTest(): void
  • init(): void
  • isFoundElementTest(): void
  • lastIndexOfElementTest(): void
  • removeByElement(): void
  • removeElementByPositionTest(): void
  • searchByElementTest(): void
  • searchByPositionTest(): void
  • toStringTest(): void

Implementação de Pilha | StackTest.java

Métodos:

  • append(T element): void
  • append(int position, T element): void
  • getElement(int index): T
  • getSize(): int
  • increaseCapacity(): void
  • isEmpty(): boolean
  • peek(): T
  • pull(): T
  • push(T element): void
  • remove(int position): void
  • remove(T element): void
  • searchByElement(T element): int
  • toString(): String

Testes unitários:

  • initEmptyStackTest(): void
  • isEmptyTest(): void
  • peekTest(): void
  • pullTest(): void

Implementação de Lista com Prioridade | QueuePriorityTest.java

Métodos:

  • enqueue(T element): void
  • compareTo(Patient otherPatient): int
  • compareTo(Object object): int

Testes unitários:

  • createQueuePriorityTest(): void
  • createQueuePriorityAnonymousTest(): void

Documentação

Javadoc

Documentação técnica gerada a partir das classes e métodos implementados.

Wiki

Informações gerais sobre o projeto deste repositório de estudos de estruturas de dados.

Kanban

Informações sobre as tarefas que estão sendo desenvolvidas nesse repositório de estrutura de dados.


Dependências

Bibliotecas

Java

Open JDK Oracle Java SE 19

Log4j

API para gerenciamento de logs.

JUnit 5

API para escrita de testes.


📝 Leia meus artigos


Dev.to/henriqueotogami


Medium/henriqueotogami


💼 Conecte-se comigo


Créditos


Contribuição

Caso você queira ajudar a melhorar este repositório, siga as etapas abaixo. Qualquer ajuda é bem-vinda.

  • Faça um fork deste repositório (https://github.com/henriqueotogami/data-structure/fork);
  • Faça um clone no seu computador desse repositório "forkado" no seu perfil
  • Faça um branch com as suas modificações git checkout -b meu-novo-recurso;
  • Faça um commit git commit -am 'Adicionando um novo recurso ...';
  • Faça um push git push origin meu-novo-recurso ;
  • Faça um pull request do seu repositório no meu repositório.

Depois que sua solicitação (pull request) for aceita e adicionada (merged) ao ramo principal (branch main), você pode excluir sua branch tranquilamente.


About

Repositório dedicado aos estudos de estrutura de dados em Java com testes unitários e documentação.

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

Languages