Skip to content

naticost/Estudos-Java

Repository files navigation

📚 Repositório de Estudos - Java 🚀

Bem-vindo ao meu repositório de Estudos - Java! Aqui você encontrará tudo o que estou aprendendo sobre Java, desde conceitos básicos até tópicos mais avançados. Vamos mergulhar no mundo do Java e expandir nosso conhecimento juntos! 💡

Tópicos Abordados

1. Gradle

Gradle é uma ferramenta que ajuda a construir e gerenciar projetos de software. Pense nisso como uma lista de tarefas automatizadas que compila seu código, baixa bibliotecas necessárias e empacota tudo para ser executado. Exemplo

2. Lista Encadeada

Uma lista encadeada é como uma corrente, onde cada link (ou nó) aponta para o próximo. Isso torna fácil adicionar ou remover itens sem reorganizar toda a lista. Exemplo

3. Lista Duplamente Encadeada

Nesta lista, cada item sabe quem é seu próximo e seu anterior, como um trem onde cada vagão conhece o próximo e o anterior. Isso facilita mover-se para frente e para trás na lista. Exemplo

4. Lista Circular

Uma lista circular é uma lista onde o último item está conectado de volta ao primeiro, formando um círculo. Isso é útil quando você precisa percorrer repetidamente uma lista sem parar. Exemplo

5. Filas

Uma fila é como uma fila de pessoas: o primeiro a entrar é o primeiro a sair (FIFO - First In, First Out). Em programação, uma fila é usada para gerenciar tarefas em ordem, garantindo que a primeira tarefa a chegar seja a primeira a ser realizada. Exemplo

6. Pilhas

Uma pilha é como uma pilha de pratos: o último prato colocado é o primeiro a ser retirado (LIFO - Last In, First Out). Em programação, pilhas são usadas para armazenar dados temporários durante a execução de programas. Exemplo

7. Collections

Collections são como recipientes que armazenam múltiplos itens juntos, como uma caixa de ferramentas. Em Java, há diferentes tipos de coleções para diferentes necessidades, como listas, conjuntos e filas. Exemplo

Listas

Uma lista (List) é uma coleção ordenada de elementos que permite duplicatas. É ideal para armazenar dados onde a ordem dos elementos é importante. Exemplo

  • ArrayList: Baseado em um array redimensionável, oferece acesso rápido aos elementos.
  • LinkedList: Baseado em uma lista duplamente ligada, é eficiente para inserções e remoções.

Conjuntos

Um conjunto (Set) é uma coleção de itens únicos, ou seja, não permite duplicatas. É ideal para armazenar dados onde a ordem não importa, mas a unicidade é essencial. Exemplo

  • HashSet: Como um cesto de frutas onde a ordem não importa.
  • LinkedHashSet: Como um cesto de frutas onde a ordem de colocação é mantida.
  • TreeSet: Como um cesto de frutas organizado por tamanho.

Mapas

Um mapa (Map) é uma coleção que associa chaves a valores, não permite duplicatas de chaves, mas permite valores duplicados. É ideal para armazenar pares chave-valor. Exemplo

  • HashMap: Baseado em uma tabela hash, oferece desempenho constante para operações básicas, não garante ordem.
  • LinkedHashMap: Mantém a ordem de inserção.
  • TreeMap: Mantém os pares chave-valor ordenados.

Alguns métodos importantes das coleções são:

  • add(elemento): Adiciona um elemento à coleção.
  • remove(elemento): Remove um elemento da coleção.
  • contains(elemento): Verifica se a coleção contém um determinado elemento.
  • size(): Retorna o número de elementos na coleção.
  • clear(): Remove todos os elementos da coleção.
  • isEmpty(): Verifica se a coleção está vazia.
  • iterator(): Retorna um iterador para percorrer os elementos da coleção.

8. Equals e HashCode

Imagine que você quer comparar dois itens para ver se são iguais. O método equals faz isso. Já o hashCode é como um identificador único para cada item, usado para organizá-los eficientemente em uma lista, como um índice de biblioteca. Exemplo

9. Árvores

Uma árvore é como uma árvore de verdade, com um tronco e galhos, mas de cabeça para baixo. Ela é usada para organizar dados de uma maneira que facilita encontrar informações rapidamente. Cada "galho" (ou nó) pode ter outros galhos saindo dele, formando uma estrutura hierárquica. Exemplo

10. Pilares da Programação Orientada a Objetos

Os quatro pilares da POO ajudam a organizar e escrever código de forma eficiente: Exemplo

  • Encapsulamento: Protege os dados, permitindo acesso apenas através de métodos específicos.
  • Abstração: Simplifica sistemas complexos, mostrando apenas o necessário.
  • Herança: Permite que novas classes reutilizem código de classes existentes.
  • Polimorfismo: Permite tratar objetos diferentes de forma uniforme através de uma interface comum.

11. Spring Boot

Spring Boot é um framework que facilita a criação de aplicativos Java autônomos, de nível de produção. Ele fornece um conjunto de convenções e dependências predefinidas para que você possa configurar um novo projeto rapidamente. Exemplo

12. Maven

Maven é uma ferramenta de automação de compilação e gerenciamento de dependências usada principalmente em projetos Java. Ele ajuda a gerenciar bibliotecas e plugins de forma eficiente, garantindo que todas as dependências necessárias sejam baixadas e incluídas no projeto. Exemplo

13. Stream API

A Stream API permite processar coleções de dados de forma declarativa, utilizando operações de filtro, map e reduce. Isso facilita a manipulação e transformação de dados de maneira eficiente e concisa. Exemplo


Certificado do curso: Logo do Projeto

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors