Você está aqui: Java ::: Coleções (Collections) ::: Passos Iniciais |
Entendendo a classe HashSetQuantidade de visualizações: 24117 vezes |
Este classe é a implementação mais comum da interface Set. Veja sua posição na hierarquia de classes Java: java.lang.Object java.util.AbstractCollection<E> java.util.AbstractSet<E> java.util.HashSet<E> Um HashSet é implementado como uma tabela hash (na verdade uma instância de HashMap é usada como apoio), uma matriz na qual os elementos são armazenados em uma posição derivada de seu conteúdo. Uma vez que as tabelas hash armazenam e recuperam elementos baseado em seu conteúdo, elas são bastante apropriadas para implementar as operações de Set (o Collections Framework também as usa para várias operações de Map). Por exemplo, para implementar contains(Object o), procuraríamos pelo elemento o e retornaríamos true se ele fosse encontrado. Esta classe permite o elemento null. Esta classe oferece performance de tempo constante para as operações básicas (add, remove, contains e size), desde que a função hash disperse os elementos apropriadamente entre os buckets. A iteração pelos elementos requer um tempo proporcional à soma do tamanho do HashSet (quantidade de elementos) mais a capacidade da instância HashMap de apoio (número de buckets). Assim, é importante não definir a capacidade inicial muito alta se a performance de iteração for importante. |
![]() |
Java ::: Dicas & Truques ::: Strings e Caracteres |
Como remover espaços em excesso em uma string Java usando expressões regularesQuantidade de visualizações: 105 vezes |
Em algumas situações nós precisamos remover os espaços em excesso de um texto ou frase. Há várias formas de se realizar esta tarefa, e uma delas é por meio do uso de expressões regulares. Veja um trecho de código no qual usamos o método replaceAll() da classe Matcher para substituir dois ou mais espaços por apenas um espaço: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package arquivodecodigos; // Este exemplo mostra como remover todos os espaços // duplicados de uma string import java.util.regex.*; public class Estudos{ public static void main(String[] args){ String frase = "Programar em Java e bom"; System.out.println("Com espaços em excesso: " + frase); frase = removerEspacosDuplicados(frase); System.out.println("Sem espaços em excesso: " + frase); System.exit(0); } public static String removerEspacosDuplicados(String str){ String patternStr = "\\s+"; String replaceStr = " "; Pattern pattern = Pattern.compile(patternStr); Matcher matcher = pattern.matcher(str); return matcher.replaceAll(replaceStr); } } Ao executarmos este código Java 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) ---------------------------------------------------------------------- Com espaços em excesso: Programar em Java é bom Sem espaços em excesso: Programar em Java é bom |
Java ::: Dicas & Truques ::: Data e Hora |
Como obter a data completa formatada em português usando vetores e um objeto da classe Calendar do JavaQuantidade de visualizações: 88 vezes |
Nesta dica mostrarei como é possível combinar dois vetores de string contendo os nomes do dias e os nomes dos meses e um objeto da classe Calendar da linguagem Java para exibir a data completo em português. Este é um bom exercício para entender o uso de vetores em Java e as partes individuais que compoem uma data retornada pelo método getInstance() da classe Calendar. 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 arquivodecodigos; import java.util.Calendar; public class Estudos{ public static void main(String args[]){ String dias[] = {"Domingo", "Segunda-feira", "Terça-feira", "Quarta-feira", "Quinta-feira", "Sexta-feira", "Sábado"}; String meses[] ={"Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"}; Calendar agora = Calendar.getInstance(); System.out.println("A date é: " + dias[agora.get(Calendar.DAY_OF_WEEK) - 1] + ", " + agora.get(Calendar.DAY_OF_MONTH) + " de " + meses[agora.get(Calendar.MONTH)] + " de " + agora.get(Calendar.YEAR)); } } Ao executar este código Java nós teremos o seguinte resultado: A date é: Sábado, 20 de Março de 2020 |
Java ::: Classes e Componentes ::: JComponent |
Java Avançado - Como verificar se uma classe herda de JComponentQuantidade de visualizações: 8577 vezes |
Nesta dica mostrarei como podemos tirar proveito dos métodos getClass(), getSuperclass() e getName() da classe Class para verificarmos se uma determinada classe herda da classe JComponent. Embora este exemplo busque relacionar controles do Java Swing, a técnica usada pode ser aplicada em qualquer classe da linguagem Java. Veja o código completo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package arquivodecodigos; import javax.swing.*; public class Estudos{ public static void main(String args[]){ // verifica se JLabel herda de JComponent JLabel label = new JLabel("Teste"); if(herdaJComponent(label)){ System.out.println("JLabel herda de JComponent"); } else{ System.out.println( "JLabel não herda de JComponent"); } // verifica se Timer herda de JComponent java.util.Timer timer = new java.util.Timer(); if(herdaJComponent(timer)){ System.out.println( "java.util.Timer herda de JComponent"); } else{ System.out.println( "java.util.Timer não herda de JComponent"); } System.exit(0); } static boolean herdaJComponent(Object obj){ Class cls = obj.getClass(); Class superclass = cls.getSuperclass(); while(superclass != null){ String className = superclass.getName(); if(className.equals("javax.swing.JComponent")){ return true; } cls = superclass; superclass = cls.getSuperclass(); } return false; } } Ao executarmos este código nós teremos o seguinte resultado: JLabel herda de JComponent java.util.Timer não herda de JComponent |
Desafios, 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 |