Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

LuisMendes330

Alterar conteúdo de ArrayList

Mensagens Recomendadas

LuisMendes330

Boas pessoal,

Tenho uma ArrayList com objectos com variáves tipo String e double.

Eu quero alterar a variável double para todos os objectos da ArrayList.

Como posso fazer isso?

Já tenho um método set...

Obrigado!

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

explica melhor ...

tens um arraylist com objectos em que em cada objecto tens um parâmetro String e um double, é isso ?


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
LuisMendes330

É isso.

Fica ai o código que já tenho feito...

import java.util.ArrayList;
/**
*
* @author Luis
*/
public class Pais {
private String pais;
private String continente;
private double populacao;
private Object p;
private Pais copia;

public Pais(String nomePais, String cont, double pop) {
this.pais=nomePais;
this.continente=cont;
this.populacao=pop;
}
public Pais(Pais p) {
}//construtor por defeito/
public String getPais() { return pais;}
public String getContinente() {return continente;}
public double getPopulacao() {return populacao;}
public void setPopulacao(double pop) {pop= this.populacao;}
public String toString() {
String detalhes;
detalhes=(String)"País:"+pais+"\n Continente:"+continente+"\n População:"+populacao;
return detalhes;
}
public Pais clone() {
Pais p;
p=copia.clone();
return p;
}

}

import java.util.ArrayList;
import java.util.Iterator;
/**
*
* @author Luis
*/
public class ListaPaises {
private ArrayList<Pais> ListaPaises;
private ArrayList<String> ListaPaises1;
private ArrayList<String> ListaPaises2;
private Pais fichapais;
// variável de instância...
public ListaPaises() {
ListaPaises = new ArrayList();
}
public ListaPaises(ListaPaises lpaises) {
}
/** Número total de países */
public int totalPaises() {
return ListaPaises.size();
}
/** Número de países de um dado continente */
public int paisesDoContinente(String cont) {
int npaises=0;
for (int i = 0; i < ListaPaises.size(); i++) {
if(ListaPaises.get(i).equals(cont)){
 npaises++;
}
}
return npaises;
}
/** Devolve a ficha de um país de nome dado ou null caso este não exista */
public Pais daPais(String pais) {
for (int i = 0; i < ListaPaises.size(); i++) {
if(ListaPaises.get(i).equals(pais)){
	 Pais fichapais=ListaPaises.get(i);
}
}
return fichapais;
}
/** Lista de nomes de países com população superior à dada */
public ArrayList<String> popSuperiorA(double pop) {
ListaPaises1 = new ArrayList();
for (int i = 0; i < ListaPaises.size(); i++) {
 Pais fichapais1=ListaPaises.get(i);
 if(fichapais1.getPopulacao()>pop){
	 ListaPaises1.add(fichapais1.getPais());
}
}
return ListaPaises1;
}
/** Total da população de determinado continente */
public double popContinente(String cont) {
double total=0;
for (int i = 0; i < ListaPaises.size(); i++) {
Pais totalpopulaçao=ListaPaises.get(i);
if(ListaPaises.get(i).equals(cont)){
 total+=totalpopulaçao.getPopulacao();
}
 }
return total;
}
/** Para cada país da lista parâmetro existente na Lista de Países,
actualiza a sua população */
public void alteraLista(ArrayList<Pais> lP) {

}

}
/** Insere uma nova ficha de país na lista */
public void inserePais(Pais p) {
ListaPaises.add(p);
}
}

A dúvida tá no método alteraLista...

Editado por LuisMendes330

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

sinceramente, nem vou olhar para o código

o que necessitas será o uso desta função :

http://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html#iterator%28%29

com ela consegues fazer a travesia de todos os elementos do array e aplicares a operação que pretendesres


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
LuisMendes330

Com um ciclo for não o consigo fazer na mesma?

Eu não tou é a perceber como dar o valor quero para toda a arraylist.O método recebe a variável lP do tipo ArrayList .Esta parte tá me a confundir ...

public void alteraLista(ArrayList<Pais> lP)

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.