Você está aqui: Java ::: Coleções (Collections) ::: Passos Iniciais |
Saiba mais sobre a Java Collections FrameworkQuantidade de visualizações: 13567 vezes |
A Java Collections Framework é um conjunto de interfaces e classes nos pacotes java.util e java.util.concurrent. Estas interfaces e classes fornecem várias formas de organizar objetos. Isso é feito por meio de diferentes implementações de cada modelo. Estes modelos são chamados, às vezes, de tipos abstratos de dados (abstract data types), e precisamos deles porque diferentes programas precisam de diferentes formas de organizar seus objetos. Em algumas situações poderemos querer organizar os objetos de nossos programas em uma lista sequencial porque sua ordenação é importante e há duplicações. Em outras, um conjunto (set) pode ser a escolha correta para o tipo de dados se a ordenação não for importante e duplicações não puderem ser aceitas. Estes dois tipos de dados (lista e set), e outros, são representados por diferentes implementações na Collections Framework. Um ponto importante sobre coleções, é que não há "ótimas" implementações para todas as operações. Por exemplo, uma lista ligada é melhor que todas as outras implementações de listas baseadas em array quando o assunto é inserir e remover elementos no início ou fim da lista. Contudo, o acesso aleatório a um elemento da lista ligada pode ser dispendioso. Assim, a escolha da implementação correta para seu programa envolve analisar profundamente seu funcionamento e só então verificar as implementações disponíveis. |
Link para compartilhar na Internet ou com seus amigos: |
Java ::: Dicas & Truques ::: Arquivos e Diretórios |
Como listar todo o conteúdo de um diretório usando a função listFiles() da classe File do JavaQuantidade de visualizações: 17318 vezes |
Nesta dica mostrarei como podemos usar o método listFiles() da classe File da linguagem Java para listar todo o conteúdo de um diretório. Note que usei os métodos isFile() e isDirectory(), também da classe File, para indicar se o item que está sendo lido é um arquivo ou diretório. 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.io.*; public class Estudos{ public static void main(String[] args){ // nome e caminho do diretório File diretorio = new File("C:\\estudos_c"); // um vetor de arquivos File[] arquivos = diretorio.listFiles(); // foram encontrados arquivos ou diretórios? if(arquivos != null){ // obtemos a quantidade de arquivos int length = arquivos.length; // e percorremos os arquivos individualmente for(int i = 0; i < length; ++i){ File f = arquivos[i]; // é um arquivo? if(f.isFile()){ System.out.println(f.getName()); } else if(f.isDirectory()){ // é um diretório System.out.println("Diretorio: " + f.getName()); } } } } } Ao executar este código Java nós teremos um resultado parecido com: DICA.txt Diretorio: estudos Estudos_C.dev Estudos_C.exe Estudos_C.layout main.c main.o Makefile.win |
Java ::: Dicas & Truques ::: Programação Orientada a Objetos |
Como usar o modificador de acesso private em Java - Apostila Java para iniciantes - Programação Orientada a Objetos em JavaQuantidade de visualizações: 10243 vezes |
Um método ou variável declarada com o modificador de acesso private (privado) pode ser acessado somente por uma instância da classe que declara o método ou variável. Veja um exemplo:---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- // Classe Cliente class Cliente{ private String nome = "Osmar"; } // Classe de teste public class Estudos{ public static void main(String args[]){ Cliente cliente = new Cliente(); System.out.println(cliente.nome); System.exit(0); } } Ao tentarmos compilar este código teremos a seguinte mensagem de erro: Estudos.java:10: nome has private access in Cliente System.out.println(cliente.nome); O erro já era esperado, pois sabemos que a classe Estudos não tem acesso aos membros privados da classe Cliente. Experimente alterar o modificador private por public e veja o resultado: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- public String nome = "Osmar"; É importante observar que, se duas instâncias de uma classe forem criadas, uma terá acesso aos dados privados da outra, ou seja, o modificador private define quais classes (não instâncias) podem acessar determinado recurso. Além disso, saiba que classes de nível superior (Top-level) não podem ser declaradas como private. Elas podem ser no máximo de acesso de pacote (nenhum modificador). A mesma regra se aplica a interfaces. No entanto, classes e interfaces internas podem ser declaradas com o modificador private. Para finalizar, lembre-se de que sub-classes não possuem acesso à membros privados da superclasse. |
Java ::: Java + MySQL ::: Metadados da Base de Dados (Database Metadata) |
Java MySQL - Como obter uma lista das funções numéricas (matemática) suportadas pelo MySQL usando o método getNumericFunctions() da interface DatabaseMetaDataQuantidade de visualizações: 5556 vezes |
Em algumas situações gostaríamos de, via código, obter uma lista das funções numéricas, ou seja, funções matemáticas, suportadas pelo MS SQL Server. Para isso podemos usar o método getNumericFunctions() da interface DatabaseMetaData. É importante observar que, no Sun Microsystem's JDBC Driver for MySQL, a interface DatabaseMetaData é implementada por uma classe do mesmo nome, no pacote com.mysql.jdbc.DatabaseMetaData. E esta classe implementa o método getNumericFunctions() de forma a retornar a lista de funções numéricas separadas por vírgulas. Veja um trecho de código Java no qual listamos todas as funções numéricas suportados no MySQL 5.0: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package estudosbancodados; import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.DriverManager; import java.sql.SQLException; public class EstudosBancoDados{ public static void main(String[] args) { // strings de conexão String databaseURL = "jdbc:mysql://localhost/estudos"; String usuario = "root"; String senha = "osmar1234"; String driverName = "com.mysql.jdbc.Driver"; try { Class.forName(driverName).newInstance(); Connection conn = DriverManager.getConnection(databaseURL, usuario, senha); // vamos obter um objeto da classe com.mysql.jdbc.DatabaseMetaData DatabaseMetaData dbmd = conn.getMetaData(); // vamos obter a lista de funções numéricas disponíveis // nesta versão do MySQL String funcoesNumericas = dbmd.getNumericFunctions(); // como a lista de funções está separada por vírgulas, vamos obter // uma matriz de strings String funcoes[] = funcoesNumericas.split(","); // vamos mostrar o resultado for(int i = 0; i < funcoes.length; i++){ System.out.println(funcoes[i]); } } catch (SQLException ex) { System.out.println("SQLException: " + ex.getMessage()); System.out.println("SQLState: " + ex.getSQLState()); System.out.println("VendorError: " + ex.getErrorCode()); } catch (Exception e) { System.out.println("Problemas ao tentar conectar com o banco de dados: " + e); } } } Ao executarmos este código teremos o seguite resultado: ABS ACOS ASIN ATAN ATAN2 BIT_COUNT CEILING COS COT DEGREES EXP FLOOR LOG LOG10 MAX MIN MOD PI POW POWER RADIANS RAND ROUND SIN SQRT TAN TRUNCATE |
Vamos testar seus conhecimentos em |
Dimensionamento de pilares de canto A determinação do momento atuante em um pilar de canto é um dos pontos principais no dimensionamento de armaduras. Analise o pilar do exemplo a seguir: Qual o valor do momento total na direção mais crítica? A) Md, total,x = 3.500KN.cm. B) Md, total,x = 7.352,84KN.cm. C) Md, total,x = 5.012KN.cm. D) Md, total,x = 1.569KN.cm. E) Md, total,x = 2.569KN.cm. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em |
Características do concreto armado No campo da engenharia, a reologia desempenha um papel crucial no estudo do comportamento de materiais, especialmente quando submetidos a forças ou tensões. Ela investiga como os materiais reagem a essas forças e como suas propriedades podem variar de acordo com fatores como taxa de deformação, temperatura e pressão. No contexto do concreto armado, um fenômeno reológico em particular ocorre quando a deformação do material aumenta com o tempo sob carregamento constante em comparação com a deformação inicial. Como esse fenômeno é classificado na reologia do concreto armado? A) Retração. B) Expansão. C) Fluência. D) Variação de temperatura. E) Deformações excessivas. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Instalações Hidráulicas Prediais |
Água Fria: Reservatórios Orienta-se que a limpeza de um reservatório seja feita a cada 6 meses para garantir a qualidade da água armazenada. Sobre o procedimento de limpeza é correto afirmar: A) Deve-se fechar o registro de entrada de água no reservatório, de preferência em dia de menor consumo, e aproveitar a água existente no reservatório para a limpeza. B) Havendo iodo em excesso, esvaziar o reservatório através da tubulação de recalque, abrindo o seu respectivo registro de fechamento. C) Após a primeira etapa da limpeza deve-se abrir o registro de distribuição da rede predial e soltar a água da lavagem pelas torneiras da edificação. D) A limpeza deve ser feita com sabão ou detergente líquido para garantir a eficiência. E) Para desinfecção final do reservatório deve-se adicionar água sanitária e encher normalmente o reservatório para utilização. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Java |
Analise o seguinte código Javaint a = 3 / 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 |
Vamos testar seus conhecimentos em Hidrologia |
(Unifal 2008) Assinale a alternativa correta a respeito das alterações do ciclo hidrológico. A) O desmatamento provoca um aumento da evapotranspiração vegetal, desequilibrando o balanço de água no solo, que se torna estéril. B) A agricultura irrigada retira água do lençol freático, devolvendo-a ao rio, por meio do escoamento fluvial, poluída e pobre em nutrientes. C) A superexploração dos aquíferos provoca o ressecamento dos solos e contribui para o aumento da erosão fluvial. D) A compactação dos solos, que pode ser decorrente das atividades agropecuárias, reduz a infiltração da água da chuva e aumenta o escoamento superficial. E) O consumo de água urbano e industrial é responsável pela poluição das águas, mas não afeta a hidrografia local quanto à redução da vazão dos rios. 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 |