Você está aqui: Java ::: Coleções (Collections) ::: ArrayList

Como retornar uma sub-lista de elementos a partir de uma ArrayList

Quantidade de visualizações: 12196 vezes
A classe ArrayList herda o método subList() da interface java.util.List. Este método permite obter uma sublista de elementos de uma ArrayList. Para isso, só precisamos fornecer ao método subList() o índice inicial e o índice final dos elementos que comporão a sub-lista. Note que o índice final não entra na contagem dos elementos a serem retornados.

Antes, veja a assinatura do método subList():

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

List<E> subList(int fromIndex, int toIndex)

Note que o retorno do método é um objeto da interface List. Veja o exemplo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

import java.util.*;

public class Estudos{
  public static void main(String[] args){
    // cria uma ArrayList que conterá strings
    ArrayList<String> nomes = new ArrayList<String>();

    // adiciona itens na primeira lista
    nomes.add("Carlos");
    nomes.add("Maria");
    nomes.add("Fernanda");
    nomes.add("Osmar");
    nomes.add("Zacarias");    

    // vamos obter um sub-lista da primeira lista
    // o resultado será: Maria, Fernanda e Osmar
    List<String> nomes2 = nomes.subList(1, 4);

    // vamos exibir o resultado
    for(int i = 0; i < nomes2.size(); i++){
      System.out.println(nomes2.get(i));
    } 

    System.exit(0);
  }
}

Pode ser tentador obter a sub-lista como uma ArrayList. Veja:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

ArrayList<String> nomes2 = (ArrayList)nomes.subList(1, 4);

Este código compila no Java 1.6, com @SuppressWarnings("unchecked"), mas, apresenta o seguinte erro em tempo de execução:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

Exception in thread "main" java.lang.ClassCastException: 
java.util.RandomAccessSubList cannot be cast to 
java.util.ArrayList at Estudos.main(Estudos.java:18)

Assim, melhor ficarmos mesmo com List e abrir mão de ArrayList para estes casos.

Link para compartilhar na Internet ou com seus amigos:

Java ::: Dicas & Truques ::: Formatação de datas, strings e números

Java para iniciantes - Como formatar moeda usando a classe NumberFormat da linguagem Java

Quantidade de visualizações: 19446 vezes
Este exemplo mostra como formatar moeda usando o método getCurrencyInstance() da classe NumberFormat. Note que, nesse exemplo, nós formatamos um valor double para a moeda brasileira em 2021, a saber, o real.

Veja o código completo para a dica:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

package arquivodecodigos;

import java.text.*;
 
public class Estudos{
  public static void main(String[] args){
    double valor = 1234567.89;
    System.out.println("Sem formatação: " + valor);
    NumberFormat nf = NumberFormat.getCurrencyInstance();
    String valorFormatado = nf.format(valor);
    System.out.println("Formatado: " + valorFormatado);   
  }
}

Ao executar este código Java nós teremos o seguinte resultado:

Sem formatação: 1234567.89
Formatado: R$ 1.234.567,89


Java ::: Pacote java.lang ::: String

Java para iniciantes - Como verificar se duas strings são iguais ou diferentes usando os métodos equals() e equalsIgnoreCase() da classe String

Quantidade de visualizações: 4206 vezes
Podemos verificar se duas strings são iguais ou diferentes em Java usando os métodos equals() e equalsIgnoreCase(). O método equals() recebe um objeto do tipo String e o compara com o String atual. Veja sua assinatura:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

public boolean equals(Object anObject)

O resultado será true se as duas strings forem iguais e false em caso contrário. Note que equals() diferencia letras maiúsculas e letras minúsculas. Veja um exemplo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

package estudos;

public class Estudos{
  public static void main(String[] args) {
    String palavra1 = "Java";
    String palavra2 = "java";
    
    // vamos verificar se as duas strings são iguais
    if(palavra1.equals(palavra2)){
      System.out.println("As duas strings são iguais");
    }
    else{
      System.out.println("As duas strings são diferentes");  
    }
  }
}

Ao executar este código nós teremos o seguinte resultado:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

As duas strings são diferentes

O método equalsIgnoreCase(), por sua vez, não diferencia letras maiúsculas de letras minúsculas. Veja o exemplo anterior usando o método equalsIgnoreCase():

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

package estudos;

public class Estudos{
  public static void main(String[] args) {
    String palavra1 = "Java";
    String palavra2 = "java";
    
    // vamos verificar se as duas strings são iguais
    if(palavra1.equalsIgnoreCase(palavra2)){
      System.out.println("As duas strings são iguais");
    }
    else{
      System.out.println("As duas strings são diferentes");  
    }
  }
}

Ao executarmos este código o resultado será:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

As duas strings são iguais



Java ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes)

Como classificar um array em ordem crescente usando o método sort() da classe Arrays do Java

Quantidade de visualizações: 26651 vezes
Nesta dica mostrarei como podemos usar o método sort() da classe Arrays da linguagens Java para ordenar um vetor de inteiros em ordem crescente. A assinatura do método sort() que usaremos é aquela que recebe apenas um argumento, ou seja, o array a ser ordenado.

Note que a implementação de ordenação usada pelo método sort() é a ordenação quicksort, considerada uma das mais rápidas nos dias atuais.

Veja o código completo para o exemplo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

package estudos;

import java.util.*;

public class Estudos{
  public static void main(String[] args){
    // vamos declarar e construir um vetor de 5 inteiros
    int[] valores = new int[5];
 
    // inicializa os elementos do array
    valores[0] = 23;
    valores[1] = 65;
    valores[2] = 2;
    valores[3] = 87;
    valores[4] = 34;

    // exibe os valores dos elementos do array
    // usando o laço for melhorado
    System.out.println("Elementos na ordem original:");
    for(int valor : valores){
      System.out.print(valor + " ");  
    }
    
    // ordena os valores em ordem crescente
    Arrays.sort(valores);

    // exibe os valores dos elementos do array
    // usando o laço for melhorado
    System.out.println("\n\nElementos classificados em ordem crescente:");
    for(int valor : valores){
      System.out.print(valor + " ");  
    }
  
    System.out.println("\n\n");
    System.exit(0);
  }
}

Ao executarmos este código Java nós teremos o seguinte resultado:

Elementos na ordem original:
23 65 2 87 34

Elementos classificados em ordem crescente:
2 23 34 65 87


Vamos testar seus conhecimentos em

Dimensionamento de pilares de extremidade

É importante detalhar as armaduras longitudinais e transversais de um pilar de extremidade durante a concretagem dessas estruturas, evitando futuras patologias. Para isso, é importante que o projetista atenda aos requisitos normativos desse detalhamento.

Sobre o detalhamento de armaduras de pilares de extremidade, assinale a alternativa correta.

A) O máximo espaçamento permitido entre as barras longitudinais corresponde a 500mm.

B) O espaçamento mínimo permitido entre as barras transversais corresponde a 5mm.

C) O diâmetro da armadura transversal deve ser maior ou igual a 5mm ou 1/4 do diâmetro da barra longitudinal.

D) O diâmetro máximo da barra longitudinal corresponde a 12,5mm e a 1/8 da barra transversal.

E) Para armaduras de aço CA-50, o espaçamento vertical corresponde a 25 vezes o diâmetro da barra transversal.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em AutoCAD Civil 3D

Questões de Certificação em AutoCAD Civil 3D

Quando selecionamos um objeto do Civil 3D na janela de desenho, uma nova aba (ou ribbon) é exibida, com opções relacionadas ao tipo de objeto selecionado.

Estamos falando da aba:

A) Modify tab.

B) Insert tab.

C) Context tab.

D) Manage tab.

E) Analyze tab.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Hidrologia

Assinale a alternativa que apresenta uma justificativa para a importância dos rios:

A) A manutenção do equilíbrio ambiental local.

B) A disponibilidade somente de água potável.

C) A ausência de grandes eventos de inundação.

D) O desgaste da superfície das rochas ígneas.

E) O aumento da temperatura de forma pontual.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Python

Qual o resultado da execução do seguinte código Python?

valor = 5
if valor % 3 > 2:
  print("Verdadeiro")
else:
  print("Falso")

A) Verdadeiro

B) Erro SyntaxError: invalid syntax na linha 2

C) Falso

D) Erro IndentationError: expected an indented block

E) O código é executado sem erros mas não mostra nenhuma saída.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Engenharia Civil - Construção Civil

Alvenaria: Técnicas construtivas

Durante o levantamento, devemos aferir o nivelamento e o prumo de uma parede em blocos cerâmicos:

A) Somente se houver um embarrigamento ou desnivelamento visível.

B) Ao levantar 1,0 m a parede.

C) Somente na última fiada.

D) A cada fiada executada.

E) A cada 3 fiadas executadas.
Verificar Resposta Estudar Cards Todas as Questões

Desafios, Exercícios e Algoritmos Resolvidos de Java

Veja mais Dicas e truques de Java

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2024 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 20 usuários muito felizes estudando em nosso site.