Michele Monteiro
Michele Monteiro21/07/2022 21:54
Compartilhe

Principais Métodos da Classe ArrayList

    • O Java ArrayList, é, basicamente, um array dinâmico que encontramos no java.util — um pacote que contém uma grande variedade de recursos, como estruturas de coleções, modelos de data e hora, recursos para internacionalização, entre muitos outras facilidades para o desenvolvimento de aplicações em Java. Esses arrays redimensionáveis são muito úteis quando utilizados para implementações em que precisamos manipular listas.
    • A dinamicidade do recurso possibilita à pessoa desenvolvedora a criação de coleções — arrays, classes e objetos — sem precisar se preocupar com o redimensionamento dos vetores. Caso algum haja necessidade de uma posição adicional em um array, o ArrayList realiza a operação de maneira autônoma. Fonte: (https://blog.betrybe.com/java/arraylist-java/#5)

    Modelos de ArrayLists Imutáveis

    List<Double> notas1 = Arrays.asList(7d, 8.5, 9.3, 5d, 7d, 0d, 3.6); 
    List<Double> notas2 = List.of(7d, 8.5, 9.3, 5d, 7d, 0d, 3.6);
    

    Uma das Formas de Iniciar um ArrayList

    List<Double> notas3 = new ArrayList<>(); 
    notas3.add(7.0); 
    notas3.add(8.5); 
    notas3.add(9.3); 
    notas3.add(5d); 
    notas3.add(7d); 
    notas3.add(0d); 
    notas3.add(3.6);
    

    Como Exibir a Posição de um Elemento

    System.out.println("Exiba a posição da nota 5.0: " + notas3.indexOf(5d));
    
    No código acima vemos que quando queremos exibir uma posição específica do ArrayList, é utilizado o método indexOf() . Dentro desse método é passado como parâmetro o valor do elemento que está na posição que desejo identificar, e com isso ele retornará um int, que é a posição.

    Adicionar um valor em uma posição já existente

    System.out.println("Adicione na lista a nota 8.0 na posição 4: ");
    notas3.add(4, 8d);
    
    No método add() serão passados 2 parâmetros, a posição desejável e o valor que será adicionado nela add(posição, valor do elemento).

    Substituir o valor de um elemento

    System.out.println("Substitua a nota 5.0 pela nota 6.0");
    notas3.set(notas3.indexOf(5d), 6.0);
    
    Neste caso será utilizado o método set() e dentro dele será passado como parâmetro o método indexOf() e o novo valor desejado. Pelo indexOf() será possível acessar a posição do elemento com o valor antigo e fazer a troca para o novo valor através do set().

    Conferir se algum valor está na lista

    System.out.println("Confira se a nota 5.0 está na lista: " + notas3.contains(5d));
    

    Exibir todos os elementos na ordem em que foram informados

    • No ArrayList ele já vai imprimir automaticamente na ordem em que os elementos foram adicionados.
    • Para imprimir o ArrayList linha a linha, pode ser utilizado o forEach():
    for (Double nota : notas3) System.out.println(nota);
    
    Para cada nota (do tipo Double) do meu ArrayList chamado “notas3”, imprima em cada linha ela mesma(nota).

    Iterator

    A Classe Double implementa uma interface Comparable e é ela que faz a comparação e me diz quem é o menor número da minha lista, o maior, quem vem primeiro, quem vem depois. Tanto o Double, Integer, String, Long, todos eles implementam a interface Comparable.

    Fazer a soma dos elementos de dentro da minha lista (Iterator)

    Para que eu possa fazer a soma dos elementos de dentro da minha lista, preciso chamar o método iterator e ir iterando dentro da minha list.
    • Como criar uma variável do padrão iterator:
    notas3.iterator();
    
    //***ctrl + alt + v***
    
    Iterator<Double> iterator = notas3.iterator();
    //SOMA DOS VALORES
      Iterator<Double> iterator = notas3.iterator();
      Double soma = 0d;
      while (iterator.hasNext()){
          Double next = iterator.next();
          soma += next;
      }
         System.out.println("Exiba a soma dos valores: " + soma);
    
    
    Depois eu fiz um laço while() com a condição iterator.hasNext() que quer dizer “iterator, tem o próximo elemento na lista?” se tiver, ele vai entrar na sentença while(), vai pegar o elemento da lista (seguindo a ordem), vai colocar esse elemento dentro da variável next e vai somar ela com a variável soma que começou com 0. Vai seguir fazendo isso até que o iterator.hasNext() seja false.

    Média dos elementos do meu ArrayList (Iterator)

    System.out.println("Exiba a média das notas: " + (soma/notas3.size()));
    
    Após fazer a soma dos elementos do meu ArrayList usando o iterator, também é possível tirar a média dos mesmos.
    size(): vai me retornar um int (inteiro) que significa a quantidade de elementos que eu tenho dentro do meu list.

    Remoções

    Remoção dos elementos de acordo com uma lógica (Iterator)

    System.out.println("Remova as notas menores que 7 e exiba a lista: ");
    Iterator<Double> iterator1 = notas3.iterator();
    while (iterator1.hasNext()){
      Double next = iterator1.next();
      if (next < 7) iterator1.remove();
    }
    System.out.println(notas3);
    
    “Enquanto tiver próximo elemento, eu vou pegar meu próximo elemento, vou colocá-lo na variável next e dizer: se meu próximo elemento for menor que 7, eu quero que ele seja removido da minha lista.”

    Remoção do elemento da lista

    System.out.println("Remova a nota 0: ");
    notas3.remove(0d);
    System.out.println(notas3);
    

    Remoção do elemento de uma posição específica da lista

    System.out.println("Remova o elemento da posição 0: ");
    notas3.remove(0);
    System.out.println(notas3);
    

    Apagar toda a lista

    System.out.println("Apague toda a lista");
    notas3.clear();
    System.out.println(notas3);
    

    isEmpty()

    • É um booleam, por exemplo, se a lista de notas3 estiver vazia, ele voltará um true, se não, voltará um false.
    System.out.println("Confira se sua lista está vazia: " + notas3.isEmpty());
    

    Espero ter ajudado!

    Lembrando que só conseguiremos realmente entender com bastante prática. Bons estudos!!

    Compartilhe
    Comentários (0)