Você está aqui: Java ::: Coleções (Collections) ::: ArrayList |
Como retornar uma sub-lista de elementos a partir de uma ArrayListQuantidade 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 JavaQuantidade 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 StringQuantidade 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 JavaQuantidade 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 |
Software 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 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 |