Você está aqui: Java ::: Coleções (Collections) ::: HashSet |
Como remover itens duplicados de uma ArrayList usando um objeto da classe HashSet do JavaQuantidade de visualizações: 474 vezes |
Nesta dica mostrarei como podemos usar um objeto da classe HashSet, que implementa a interface Set, para remover duplicidade de elementos em uma ArrayList. É importante observar que a ordem de inserção em um HashSet nem sempre é respeitada. Isso quer dizer que, após a remoção dos itens repetidos do ArrayList, a ordem gerada pode ser diferente da ordem original dos elementos. Veja o código Java 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.ArrayList; import java.util.HashSet; public class Estudos { public static void main(String[] args) { // vamos criar uma ArrayList de linguagens de programação ArrayList<String> lista = new ArrayList<>(); // vamos adicionar alguns elementos no ArrayList. Note // que temos itens repetidos lista.add("Java"); lista.add("Scala"); lista.add("Ruby"); lista.add("Scala"); lista.add("Python"); lista.add("Ruby"); lista.add("Delphi"); // vamos mostrar o conteúdo do ArrayList System.out.println("O conteúdo do ArrayList é: " + lista.toString()); // vamos construir um objeto da classe HashSet HashSet<String> set = new HashSet<>(lista); // agora construímos uma nova ArrayList sem duplicidade usando // o objeto HashSet ArrayList<String> lista2 = new ArrayList<>(set); // e mostramos o resultado System.out.println("ArrayList sem repetições: " + lista2.toString()); } } Ao executar este código Java nós teremos o seguinte resultado: O conteúdo do ArrayList é: [Java, Scala, Ruby, Scala, Python, Ruby, Delphi] ArrayList sem repetições: [Java, Scala, Ruby, Delphi, Python] |
![]() |
Java ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como testar se uma matriz é simétrica em JavaQuantidade de visualizações: 929 vezes |
Uma matriz simétrica é uma matriz que é igual à sua transposta. Para que esta definição faça sentido, apenas podemos considerar matrizes que são quadradas, ou seja, mesma quantidade de linhas e colunas. De forma mais precisa, se A=[aij] é uma matriz de ordem n x n, nós dizemos que A é simétrica quando A=At. Veja um código Java completo no qual nós declaramos uma matriz quadrada de ordem 3, pedimos para o usuário informar os valores de seus elementos e no final informamos se a matriz é uma matriz simétrica: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package estudos; import java.util.Scanner; public class Estudos{ public static void main(String[] args){ int n = 3; // ordem da matriz quadrada int matriz[][] = new int[n][n]; // matriz quadrada // para efetuar a leitura do usuário Scanner entrada = new Scanner(System.in); // vamos pedir para o usuário informar os elementos da matriz for (int i = 0; i < n; i++){ for (int j = 0; j < n; j++) { System.out.print("Elemento na linha " + (i + 1) + " e coluna " + (j + 1) + ": "); matriz[i][j] = Integer.parseInt(entrada.nextLine()); } } // agora verificamos se a matriz é simétrica boolean simetrica = true; for (int i = 0; (i < n) && (simetrica); i++) { for (int j = 0; (j < i) && (simetrica); j++) { // os elementos em posicoes simetricas sao iguais? if (matriz[i][j] != matriz[j][i]){ simetrica = false; } } } // agora mostramos a matriz lida System.out.printf("\n"); for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { System.out.printf("%d ", matriz[i][j]); } System.out.printf("\n"); } if (simetrica){ System.out.printf("\nA matriz informada é uma matriz simétrica.\n"); } else{ System.out.printf("\nA matriz informada não é uma matriz simétrica.\n"); } } } Ao executar este código Java nós teremos o seguinte resultado: Elemento na linha 1 e coluna 1: 5 Elemento na linha 1 e coluna 2: 1 Elemento na linha 1 e coluna 3: 2 Elemento na linha 2 e coluna 1: 1 Elemento na linha 2 e coluna 2: 6 Elemento na linha 2 e coluna 3: 3 Elemento na linha 3 e coluna 1: 2 Elemento na linha 3 e coluna 2: 3 Elemento na linha 3 e coluna 3: 8 5 1 2 1 6 3 2 3 8 A matriz informada é uma matriz simétrica. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços |
Exercícios Resolvidos de Java - Como calcular a tabuada de multiplicação para os números de 1 a 9 em JavaQuantidade de visualizações: 4000 vezes |
Pergunta/Tarefa: Escreva um programa Java que usa o laço for para calcular e exibir a tabuada de multiplicação dos números 1 a 9. Sua saída deve ser parecida com: Tabuada de Multiplicação ---------------------------------------------- 1 2 3 4 5 6 7 8 9 ---------------------------------------------- 1 | 1 2 3 4 5 6 7 8 9 2 | 2 4 6 8 10 12 14 16 18 3 | 3 6 9 12 15 18 21 24 27 4 | 4 8 12 16 20 24 28 32 36 5 | 5 10 15 20 25 30 35 40 45 6 | 6 12 18 24 30 36 42 48 54 7 | 7 14 21 28 35 42 49 56 63 8 | 8 16 24 32 40 48 56 64 72 9 | 9 18 27 36 45 54 63 72 81 Veja a resolução comentada deste exercício usando Java console: ---------------------------------------------------------------------- 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) { // mostra o título da tabela System.out.print(" Tabuada de Multiplicação"); System.out.println("\n----------------------------------------------"); // exibe os números na parte superior System.out.print(" "); for(int i = 1; i <= 9; i++){ System.out.print(" " + i); } System.out.println("\n----------------------------------------------"); // mostra o corpo da tabuada for(int i = 1; i <= 9; i++){ System.out.print(i + " |"); for(int j = 1; j <= 9; j++){ System.out.printf("%4d", i * j); } System.out.println(); } System.out.println("\n"); } } |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Programação Orientada a Objetos |
POO - Programação Orientada a Objetos - Exercícios Resolvidos de Java - Ex. 2 - A classe Circulo (construtores, métodos, getters e setters e encapsulamento)Quantidade de visualizações: 19399 vezes |
Pergunta/Tarefa: Escreva uma classe Circulo para representar círculos. Esta classe deverá conter os seguintes atributos e métodos: a) Uma variável privada do tipo double chamada raio que guardará o valor do raio atual do circulo. b) Métodos get() e set() públicos que permitem definir e acessar o valor da variável raio. c) Um construtor que recebe o valor do raio como argumento. d) Um método getArea() que calcula e retorna a área do círculo. e) Um método getCircunferencia() que calcula e retorna a circunferência do círculo. f) Um método aumentarRaio() que recebe um valor double e o usa como percentual para aumentar o raio do círculo. Crie uma classe contendo um método main() para testar a funcionalidade da classe Circulo. Eis um exemplo de entrada e saída: ![]() Resposta/Solução: Veja a resolução comentada deste exercício usando Java console: Circulo.java: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package estudos; public class Circulo{ private double raio; // guarda o raio atual do círculo // construtor que recebe o valor do raio como argumento public Circulo(double raio){ this.raio = raio; } // permite obter o raio do círculo public double getRaio(){ return raio; } // permite definir o raio do círculo public void setRaio(double raio){ this.raio = raio; } // obtém a área do círculo public double getArea(){ double area = Math.PI * Math.pow(this.raio, 2); return area; } // obtém a circunferência do círculo public double getCircunferencia(){ double circunferencia = (2 * Math.PI) * this.raio; return circunferencia; } // permite aumentar o raio de acordo com uma porcentagem fornecida public void aumentarRaio(double porcentagem){ this.raio = this.raio + (porcentagem / 100.0) * this.raio; } } Veja agora o método main() que nos permite testar a funcionalidade da classe Circulo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package estudos; import java.util.Scanner; public class Estudos { public static void main(String[] args) { // vamos criar uma instância da classe Circulo Scanner entrada = new Scanner(System.in); System.out.print("Informe o raio do círculo: "); double raio = Double.parseDouble(entrada.nextLine()); Circulo c = new Circulo(raio); // vamos mostrar o valor do raio atual System.out.println("Raio: " + c.getRaio()); // vamos mostrar a área System.out.println("Área: " + c.getArea() + " metros quadrados"); // vamos mostrar a circunferência System.out.println("Circunferência: " + c.getCircunferencia() + " metros"); // vamos aumentar o raio do circulo em uma determinada porcentagem System.out.print("\nInforme o percentual de aumento do raio: "); double percentual = Double.parseDouble(entrada.nextLine()); c.aumentarRaio(percentual); // vamos mostrar o valor do raio atual System.out.println("Raio: " + c.getRaio()); // vamos mostrar a área System.out.println("Área: " + c.getArea() + " metros quadrados"); // vamos mostrar a circunferência System.out.println("Circunferência: " + c.getCircunferencia() + " metros"); } } |
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
Códigos Fonte |
![]() 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 |
![]() 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 |