Jump to content
LuisMendes330

Alterar conteúdo de ArrayList

Recommended Posts

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!

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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...

Edited by LuisMendes330

Share this post


Link to post
Share on other 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)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.