Você está aqui: Java ::: Coleções (Collections) ::: Passos Iniciais |
Entendendo a interface Set<E>Quantidade de visualizações: 19172 vezes |
A interface Set representa um coleção que não contém elementos duplicados. Mais formalmente, sets não contém pares de elementos e1 e e2, de modo que e1.equals(e2), e no mínimo um elemento null. Como seu nome diz, esta interface modela a abstração matemática de conjuntos. Entre as classes que implementam esta interface podemos citar: AbstractSet, ConcurrentSkipListSet, CopyOnWriteArraySet, EnumSet, HashSet, JobStateReasons, LinkedHashSet e TreeSet. A interface Set acrescenta algumas estipulações, além daquelas herdadas da interface Collection, nos contratos de todos os construtores e nos contratos dos métodos add, equals e hashCode. A estipulação adicional nos construtores é de que os construtores devem criar um conjunto que não contenha elementos duplicados. Obs: Muito cuidado deve ser tomado se objetos mutáveis forem usados como elementos de conjuntos. O comportamente de um conjunto não é especificado se o valor de um objeto é alterado de forma a afetar a comparação equals enquanto o objeto for um elemento do set. Um caso especial desta proibição é que não é permitido que um set contenha a si mesmo como elemento. Algumas implementações de set apresentam restrições em relação aos elementos que elas podem conter. Por exemplo, algumas implementações não aceitam o elemento null, e algumas têm restrições em relação ao tipo de seus elementos. Tentar adicionar um elemento não permitido pode atirar uma exceção não verificada, geralmente NullPointerException ou ClassCastException. Tentar verificar a presença de um elemento não permitido pode atirar uma exceção, ou simplesmente retornar false; algumas implementações podem exibir o primeiro comportamento e outras podem exibir o segundo. Mais comumente, tentar um operação em um elemento não permitido, cuja finalização não resultaria na inserção do elemento não permitido no set, pode atirar uma exceção ou obter sucesso. Tudo depende das opções fornecidas pela implementação. Tais exceções são marcadas "optional" em sua especificação. |
Link para compartilhar na Internet ou com seus amigos: |
Java ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Java para iniciantes - Como usar o laço do-while da linguagem JavaQuantidade de visualizações: 52835 vezes |
O laço do-while é uma variação do laço while. A diferença é que, no laço do-while a condição de continuidade é testada após a execução do bloco de códigos desejado. Isso nos faz crer que este laço é executado no mínimo uma vez. Veja sua sintáxe:---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- do{ // bloco de instruções }while(condição); Se a condição testada for verdadeira, o laço continua sua execução. Do contrário a execução do programa segue a partir do ponto onde o laço se encontra. Veja um exemplo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- import javax.swing.JOptionPane; public class Estudos{ public static void main(String[] args) { int valor; int soma = 0; // Lê continuamente até o usuário informar 0 do{ // efetua a próxima leitura String str = JOptionPane.showInputDialog(null, "Informe um valor inteiro:\n(ou 0 para sair)", "Estudos", JOptionPane.QUESTION_MESSAGE); valor = Integer.parseInt(str); soma += valor; }while(valor != 0); JOptionPane.showMessageDialog(null, "A soma é: " + soma, "Estudos", JOptionPane.INFORMATION_MESSAGE); } } Use o laço do-while quando você tiver instruções dentro do laço que precisem ser executadas no mínimo uma vez. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços |
Exercício Resolvido de Java - Usando um laço for para contar de 0 até 10 e somar todos os valoresQuantidade de visualizações: 14573 vezes |
Pergunta/Tarefa: Escreva um programa Java que usa o laço for para contar de 0 até 10 e somar todos estes valores, ou seja, 0 + 1 + 2 + 3 + etc. Como resultado seu programa deverá exibir o valor 55. Resposta/Solução: A primeira providência para a realização deste exercício é declarar uma variável soma do tipo int e atribuir a ela o valor inicial 0: // variável int que gardará a soma dos valores int soma = 0; Em seguida faremos um laço for repetir de 0 até 10 e, a cada repetição, nós obtemos o valor da variável de controle e a somamos ao valor atual da variável soma. Veja: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- public static void main(String[] args){ // laço for que conta de 0 até 10 e soma todos os valores // variável int que gardará a soma dos valores int soma = 0; for(int i = 0; i <= 10; i++){ // vamos somar mais este valor soma = soma + i; // poderia também ser // soma += i; } // vamos exibir a soma dos valores System.out.println("A soma dos valores de 0 a 10 é: " + soma); } |
Java ::: Coleções (Collections) ::: ArrayList |
Como testar se a ArrayList do Java está vazia usando a função isEmpty() - Java ArrayList para iniciantesQuantidade de visualizações: 18651 vezes |
Neste exemplo mostrarei como usar o método isEmpty() da classe ArrayList para verificar se a lista está vazia, ou seja, não contem nenhum elemento. Este método retorna true se a ArrayList estiver vazia e false em caso contrário. Veja o exemplo a seguir: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package estudos_java; import java.util.ArrayList; public class Estudos{ public static void main(String[] args){ // cria uma ArrayList que conterá strings ArrayList<String> nomes = new ArrayList<>(); // adiciona itens na lista nomes.add("Carlos"); nomes.add("Maria"); nomes.add("Fernanda"); nomes.add("Osmar"); nomes.add("Maria"); // Verifica se a ArrayList está vazia if(nomes.isEmpty()){ System.out.println("A ArrayList está vazia."); } else{ System.out.println("A ArrayList não está vazia."); } System.exit(0); } } Ao executar este código Java nós teremos o seguinte resultado: A ArrayList não está vazia. |
Vamos testar seus conhecimentos em Hidrologia |
A Bacia Platina é uma das principais bacias do país. Em relação às suas características, marque a alternativa correta. A) É formada pelas bacias dos rios Paraná, Paraguai, Araguaia e Tocantins. B) Está localizada no Brasil, Argentina, Chile e Paraguai. C) Possui a maior usina hidrelétrica totalmente brasileira. D) Apresenta baixo aproveitamento econômico de sua área. E) É a bacia brasileira com maior capacidade instalada de geração de energia. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em |
Cisalhamento e detalhamento de vigas O arranjo das armaduras de uma viga de concreto armado deve atender tanto à função estrutural quanto às condições adequadas de execução, principalmente em relação ao lançamento e ao adensamento do concreto. Uma viga de concreto C20 está sujeita a um carregamento Vd de 500kN. Essa viga tem seção igual a 25 x 60cm e altura útil de 57cm. Determine o espaçamento máximo da armadura transversal dessa viga: A) 17cm. B) 21cm. C) 25cm. D) 27cm. E) 30cm. 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?# função usada para trocar dois itens de posição em uma lista def trocar_posicao(lista, pos1, pos2): lista[pos1], lista[pos2] = lista[pos2], lista[pos1] return lista # cria uma lista valores = [1, 2, 3, 4] # define as posições de troca pos1, pos2 = 0, 3 # chama a função de troca e retorna a nova lista print(trocar_posicao(valores, pos1, pos2)) A) [1, 4, 3, 2] B) [3, 2, 4, 1] C) [4, 2, 3, 1] D) [4, 4, 3, 2] E) [4, 3, 2, 1] Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em |
Cisalhamento e detalhamento de vigas Conforme a NBR 6118 (ABNT, 2014), a armadura transversal mínima deve ser colocada nas vigas de modo a garantir a estabilidade das estruturas, mesmo na eventualidade de serem aplicados carregamentos não previstos no cálculo, evitando a ruptura abrupta logo após o surgimento das primeiras fissuras inclinadas. Nesse contexto, qual a armadura transversal mínima necessária por metro de viga, tendo em vista que ela tem seção de 30 x 80cm e altura útil de 77cm? Adote concreto C35 e aço CA-50. A) 2,43cm2/m. B) 2,84cm2/m. C) 3,12cm2/m. D) 3,54cm2/m. E) 3,85cm2/m. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Java |
Analise o seguinte código Javadouble a = 3.0 / 0; System.out.println(a); Qual é o resultado de sua execução? A) Infinity B) NaN C) Uma exceção java.lang.ArithmeticException: / by zero D) 0 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 |