O GoConqr está de visual novo! Conte para nós o que você achou.

Mapa mental

Java III - Principais APIs e Bibliotecas

Alexandre Freire Java Preparatoria Abierta Português

Conteúdo do mapa

Java III - Principais APIs e Bibliotecas

  1. 01 - Pacotes

    • interfaces modelos main sistema
      • main TestaConta.java
      • modelos Conta.java
      • sistema AtualizadorDeContas.java
      • interfaces Autenticavel.java
    • Diretórios
      • br.com.nomedaempresa.nomedoprojeto.nomedapasta
        • Import
          • br.com.caelum.banco.NomeDaClasse;
            • Boa prática: Importar de UM em UM.
      • Criados automaticamente pelo Eclipse
    • Modificadores de Acesso
      • public
        • Todos. (para Classes, atributos, construtores e métodos)
      • protected
        • Classes do mesmo pacote e Classes filhas. (para atributos, construtores e métodos)
      • padrão (sem nenhum modificador) package-private é utilizado
        • Classes do mesmo pacote. (para Class, atributo, construtor e método)
      • private
        • Somente a própria Class. (para atributos, construtores e métodos)
      • Classes públicas: O Java não permite mais de uma classe pública por arquivo e o arquivo deve ser NomeDaClasse.java.
  2. 02 - Jar e Javadoc

    • Jar
      • Gerando o JAR pelo Eclipse
        • Export: botão direito nome do projeto
          • Selecione a opção "JAR file". Next.
            • Selecione diretório onde irá salvar. Next.
              • Não modifica nenhuma informação nesta tela. Next.
                • Defina quem será a "Main class:". Finish.
                  • Teste Prompt: java -jar banco.jar
        • Boa prática: Nome do arquivo = empresa-projeto-versão = caelum-banco-1.0.jar.
    • Javadoc
      • Gerando o Javadoc
        • Menu > Project > Generate Javadoc...
          • Selecione todas as classes. Defina "Destination".
            • Abra o arquivo index.html.
        • Inserindo comentários:
          • /** * Classe responsável por moldar as Contas do Banco * * @author Manoel Santos da Silva */
  3. 04 - java.lang

    • Único com importação automática.
      • PRINCIPAIS CLASSES
        • classe System
        • classeRuntime
          • Rodar algum programa:
            • Runtime rt = Runtime.getRuntime(); Process p = rt.exec("dir");
              • Deve ser evitado ao máximo. Risco de dependência do sis operacional.
        • classe Object
          • Todas as classes herdam de Object
            • Todo objeto pode ser referenciado como Object
              • Casting de referências
                • Conta contaResgatada = (Conta) object;
                  • Exception: ClassCastException
              • Métodos do Object: equals e toString
                • toString: retorna nome classe + @ + No. identidade:
                  • Sobrescrever: public String toString() { return "Uma conta com valor: " + this.saldo; }
                • equals: compara variáveis referência "==".
                  • Sobrescrev para comparar atributos.
                    • Na classe conta...
                      • public boolean equals(Object object) { if (!(object instanceof Conta)) return false; Conta outraConta = (Conta) object; return this.saldo == outraConta.saldo; }
        • classe String
          • Transformar String/ int / String
            • int i = 100; String s = "" + i; System.out.println(s); double d = 1.2; String s2 = "" + d; System.out.println(s2);
            • Transformar String em um número int: classe Integer.método estático.
              • String s = "101"; int i = Integer.parseInt(s);
          • Guarda referência, não guarda valor.
        • classe StringBuffer
          • É mutável e não possui pool. Ao trabalhar muito com a manipulação de uma mesma String dentro de um laço por exemplo.
        • classe Math
          • Métodos estáticos para operações com números.Arredondar, tirar raiz, etc...
        • import static java.lang.Math.*;
          • Isso elimina a necessidade de usar o nome da classe, sob o custo de legibilidade:
  4. Collections framework

    • Arraylist
      • Arraylist<restringe à classe>
        • foreach: No eclipse, você pode escrever foreach e dar ctrl+espaço, que ele vai gerar o esqueleto desse enhanced for! Muito útil!
          • Collections.sort(nomes);
            • Conta implements Comparable<Conta>{
              • public int compareTo(Conta outra){
      • ArrayList<String> nomes = new ArrayList<String>();
    • List
      • List<String> nomes = new LinkedList<String>();
        • Permite dois valores iguais na lista. Pode-se ordenar.
          • reverse(List<?> list) - Inverte a ordem dos elementos em uma lista específica. rotate(List<?> list, int distance) - Rotaciona os elementos de uma lista específica a uma distância específica. shuffle(List<?> list) - Troca aleatoriamente a lista específica usando um código padrão de aleatoriedade.
      • Ideal ao declarar atributos: private List<Funcionario> empregados = new ArrayList<>();
    • Set (de conjunto)
      • Set<String> nomes = new HashSet<String>();
        • Ignora elementos repetidos dentro da lista. Sem ordem.
          • Processo de busca mais rápido que outras coleções. É preciso relacionar o objeto com um número.
            • Ctrl + 3 > Generate HashCode()
      • ArrayList e LinkedList = inserção rápida e busca muito lenta! TreeSet e HashSet = inserção rápida (mais lenta do que a das listas.) Busca muito rápida!
      • Dominar o uso e o funcionamento do hashCode é fundamental para o bom programador.
    • Pode ser também: Collection<String> nomes = new ArrayList<String>();
      • A interface é a mesma. A implementação é diferente.
    • Map: não pertence a interface Collections
      • Map<String, Conta> contas = new HashMap<String, Conta>();
        • Trabalha com coleções do tipo chave/valor. Quero saber qual é o salário do diretor.
          • contas.put("diretor", c1);
            • imprime(contas.get("diretor").getSaldo());
    • Comparable
      • Método compareTo();
        • Configura ordenação dos dados que poderá ser baseada em um ou mais critérios.
          • Na classe String, por padrão, já foi configurado o método para ordenar por ordem alfabética.
    • A classe Collections traz uma grande quantidade de métodos estáticos úteis na manipulação de coleções. Consulte a documentação e conheça mais.
    • Boas práticas:
      • Você deve criar uma coleção já com uma capacidade grande, para evitar o excesso de redimensionamento.
        • Evite usar coleções que guardam os elementos pela sua ordem de comparação quando não há necessidade.
          • Neste caso prefira um HashSet no lugar de TreeSet.
            • Não itere sobre uma List utilizando um for de 0 até list.size(). Use Iterator.
    • Programe voltado a interface, e não à implementação!
      • Ex.: Collection<Integer> teste = new ArrayList<>(); em vez de:
        • ArrayList<Integer> teste = new ArrayList<>();
        • Polimorfismo
          • Busque sempre programar se referindo a essas interfaces menos específicas, na medida do possível: Métodos costumam receber e devolver Collections, Lists e Sets em vez de referenciar diretamente uma implementação (Ex.:ArrayList).

Informações

Descrição
Preparatoria Abierta Java Mapa Mental sobre Java III - Principais APIs e Bibliotecas, criado por Alexandre Freire em 02-02-2017.
Visualizações
0
Avaliação

Fale Conosco

Sobre o que é sua mensagem?

O que você acha do novo visual?

Você gostou?