Java ::: Coleções (Collections) ::: ArrayList |
Como adicionar todos os elementos de uma ArrayList ou coleção à uma outra ArrayList do Java usando o método addAll()Quantidade de visualizações: 15909 vezes |
Em algumas situações pode ser necessário adicionar todos os elementos de uma ArrayList ou outra coleção a uma determinada ArrayList já existente. Isso pode ser feito por meio do uso do método addAll() da classe ArrayList. Na versão 1.5 do Java, este método possui duas assinaturas. Veja a primeira:public boolean addAll(Collection<? extends E> c) Aqui nós podemos adicionar à uma ArrayList existente todos os elementos de uma determinada coleção, desde que, é claro, esta coleção implemente ou descenda de alguma classe que implemente a interface Collection. Note também o uso de genéricos na coleção a ser fornecida como argumento. É importante observar que, se passarmos uma coleção de tipos diferentes daquela na qual estamos chamando o método addAll() teremos um erro de compilação. Veja um exemplo no qual adicionamos todos os elementos de uma ArrayList no final de outra:
import java.util.ArrayList;
public class Estudos{
public static void main(String[] args){
// cria uma ArrayList que conterá strings
ArrayList<String> nomes = new ArrayList<String>();
// cria uma segunda ArrayList que conterá mais strings
ArrayList<String> nomes2 = new ArrayList<String>();
// adiciona itens na primeira lista
nomes.add("Carlos");
nomes.add("Maria");
nomes.add("Fernanda");
// adiciona itens na segunda lista
nomes2.add("Osmar");
nomes2.add("Zacarias");
// vamos adicionar os elementos da segunda lista
// no final da primeira lista
nomes.addAll(nomes2);
// vamos exibir o resultado
for(int i = 0; i < nomes.size(); i++){
System.out.println(nomes.get(i));
}
System.exit(0);
}
}
A segunda assinatura do método addAll() nos permite definir a posição no ArrayList alvo a partir da qual os elementos da coleção fonte serão adicionados. Veja: public boolean addAll(int index, Collection<? extends E> c) Eis um exemplo no qual inserimos os elementos de uma ArrayList a partir do segundo elemento da ArrayList alvo. Note que os itens existentes têm suas posições alteradas de forma a acomodar os novos elementos:
import java.util.ArrayList;
public class Estudos{
public static void main(String[] args){
// cria uma ArrayList que conterá strings
ArrayList<String> nomes = new ArrayList<String>();
// cria uma segunda ArrayList que conterá mais strings
ArrayList<String> nomes2 = new ArrayList<String>();
// adiciona itens na primeira lista
nomes.add("Carlos");
nomes.add("Maria");
nomes.add("Fernanda");
// adiciona itens na segunda lista
nomes2.add("Osmar");
nomes2.add("Zacarias");
// vamos adicionar os elementos da segunda lista
// a partir do segundo elemento da primeira lista
nomes.addAll(1, nomes2);
// vamos exibir o resultado
for(int i = 0; i < nomes.size(); i++){
System.out.println(nomes.get(i));
}
System.exit(0);
}
}
Como resultado da execução deste código nós teremos: Carlos Osmar Zacarias Maria Fernanda |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição |
Exercícios Resolvidos de Java - Usando laços for aninhados para desenhar uma pirâmide de números em Java (com o usuário informando a quantidade de linhas)Quantidade de visualizações: 9314 vezes |
|
Pergunta/Tarefa: Escreva um programa Java que solicita ao usuário um número inteiro. Este número inteiro deverá estar entre 1 e 12 e será usado como a quantidade de linhas em uma pirâmide de números. Você deverá usar laços for aninhados para controlar as linhas e montar a estrutura desejada. Sua saída deverá ser parecida com:
Informe a quantidade de linhas: 5
1
2 1 2
3 2 1 2 3
4 3 2 1 2 3 4
5 4 3 2 1 2 3 4 5
Veja a resolução comentada deste exercício usando Java console:
package estudos;
import java.util.Scanner;
public class Estudos {
public static void main(String[] args) {
// vamos fazer a leitura usando a classe Scanner
Scanner entrada = new Scanner(System.in);
// vamos solicitar a quantidade de linhas
System.out.print("Informe a quantidade de linhas: ");
int numLinhas = Integer.parseInt(entrada.nextLine());
// não queremos aceitar quantidades de linhas menores que 1
// ou maiores que 12
if((numLinhas < 1) || (numLinhas > 12)){
System.out.println("O número de linhas deve estar entre 1 e 12");
System.exit(0);
}
// este laço externo controla as linhas
System.out.println();
for(int linha = 1; linha <= numLinhas; linha++){
// este laço gera os espaços antes de cada número nas
// linhas da pirâmide
for (int coluna = 1; coluna <= (numLinhas - linha); coluna++){
System.out.print(" "); // três espaços aqui
}
// aqui nós exibimos os números de cada linha do lado
// esquerdo da pirâmide, até o centro
for(int i = linha; i >= 1; i--){
// o número da linha é maior ou igual a 10? se for
// colocamos um espaço antes do número
if(i >= 10){
System.out.print(" " + i);
}
else{ // o número da linha é menor que 10? vamos
//colocar dois espaços antes do número
System.out.print(" " + i);
}
}
// e finalmente exibimos os números de cada linha no
// lado direito da pirâmide
for (int i = 2; i <= linha; i++){
// o número da linha é maior ou igual a 10? se for
// colocamos um espaço antes do número
if(i >= 10){
System.out.print(" " + i);
}
else{ // o número da linha é menor que 10? vamos
// colocar dois espaços antes do número
System.out.print(" " + i);
}
}
// gera uma nova linha
System.out.println();
}
System.out.println();
}
}
|
C++ ::: Dicas & Truques ::: Matemática e Estatística |
Como calcular juros compostos e montante usando C++Quantidade de visualizações: 18085 vezes |
|
O regime de juros compostos é o mais comum no sistema financeiro e portanto, o mais útil para cálculos de problemas do dia-a-dia. Os juros gerados a cada período são incorporados ao principal para o cálculo dos juros do período seguinte. Chamamos de capitalização o momento em que os juros são incorporados ao principal. Após três meses de capitalização, temos: 1º mês: M = P .(1 + i) 2º mês: o principal é igual ao montante do mês anterior: M = P x (1 + i) x (1 + i) 3º mês: o principal é igual ao montante do mês anterior: M = P x (1 + i) x (1 + i) x (1 + i) Simplificando, obtemos a fórmula: M = P . (1 + i)^n Importante: a taxa i tem que ser expressa na mesma medida de tempo de n, ou seja, taxa de juros ao mês para n meses. Para calcularmos apenas os juros basta diminuir o principal do montante ao final do período: J = M - P Vejamos um exemplo: Considerando que uma pessoa empresta a outra a quantia de R$ 2.000,00, a juros compostos, pelo prazo de 3 meses, à taxa de 3% ao mês. Quanto deverá ser pago de juros? Veja o código C++ para a resolução:
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
float principal = 2000.00;
float taxa = 0.03; // 3%
int meses = 3;
float montante = principal * pow((1 + taxa), meses);
float juros = montante - principal;
cout << "O total de juros a ser pago é: " <<
juros << "\n";
cout << "O montante a ser pago é: " <<
montante << "\n\n";
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
Um outra aplicação interessante é mostrar mês a mês a evolução dos juros. Veja o código a seguir:
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
float principal = 2000.00;
float taxa = 0.03; // 3%
int meses = 3;
float anterior = 0.0;
float montante;
float juros;
for(int i = 1; i <= meses; i++){
montante = principal * pow((1 + taxa), i);
juros = montante - principal - anterior;
anterior += juros;
cout << "Mês: " << i << " - Montante: " <<
montante << " - Juros " << juros << "\n";
}
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
|
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico |
Exercício Resolvido de Java - Um programa Java que lê dois números e mostra a soma, subtração, multiplicação e a divisão dos números lidosQuantidade de visualizações: 2187 vezes |
|
Pergunta/Tarefa: Faça um programa em Java que receba dois números e no final mostre a soma, subtração, multiplicação e a divisão dos números lidos. Os números deverão ser informados pelo usuário. Sua saída deverá ser parecida com: Informe o primeiro número: 9 Informe o segundo numero: 4 A soma é: 13 A subtração é: 5 A multiplicação é: 36 A divisão é: 2.25 Veja a resolução completa para o exercício em Java, comentada linha a linha:
package estudos;
import java.util.Scanner;
public class Estudos {
public static void main(String[] args) {
// vamos usar a classe Scanner para efetuar a leitura
Scanner entrada = new Scanner(System.in);
// vamos ler o primeiro número
System.out.print("Informe o primeiro número: ");
int n1 = Integer.parseInt(entrada.nextLine());
// vamos ler o segundo número
System.out.print("Informe o segundo numero: ");
int n2 = Integer.parseInt(entrada.nextLine());
// primeiro vamos somar os dois números
int soma = n1 + n2;
System.out.println("A soma é: " + soma);
// agora vamos subtrair
int subtracao = n1 - n2;
System.out.println("A subtração é: " + subtracao);
// agora a multiplicação
int multiplicacao = n1 * n2;
System.out.println("A multiplicação é: " + multiplicacao);
// e finalmente a divisão. Note o truque para não arredondar
// a divisão
double divisao = (n1 * 1.0) / n2;
System.out.println("A divisão é: " + divisao);
}
}
|
Nossas 20 dicas & truques de programação mais populares |
|
VB.NET - Como inverter o conteúdo de uma string em VB.NET usando os métodos ToCharArray() e Reverse() JavaScript - Como remover o primeiro elemento de um array em JavaScript - Como usar a função shift() do objeto Array do JavaScript |
Você também poderá gostar das dicas e truques de programação abaixo |
|
C - Como calcular a energia cinética de um corpo dado sua massa e sua velocidade usando a linguagem C C - Como calcular a transposta de uma matriz em C - Curso de C para Geometria Analítica e Álgebra Linear CSS - Como definir uma imagem de fundo para a página HTML em CSS usando a propriedade background-image |
Nossas 20 dicas & truques de programação mais recentes |
Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site |
|
Python - Como criar o jogo Pedra, Papel, Tesoura em Python - Jogo completo em Python com código comentado |
Últimos Exercícios Resolvidos |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |


