Array de objeto

14 respostas
tshaman

Oi pessoal boa tarde
Tava vendo nos tópicos anteriores a sugestão das apostilas da caelum, são boas mesmo…olhando na fj11 ele explica sobre vetores de objetos e deu o exemplo:

minhasContas[1] = new Conta();
minhasContas[1].saldo = 3200.0;

Considerando que estou em outra classe, a classe Conta deve ter o saldo como atributo público para esta atribuição funcionar?
Se eu fizesse um método tipo setSaldo e o atributo saldo como private eu poderia fazer esta atribuição:
minhasContas[1].getSaldo(3200.00); ?

Um grande abraço !!

14 Respostas

tshaman

Viajei na maionese, seria a atribuição
minhasContas[1].setSaldo(3200.00); :slight_smile:

rmendes08

sim
sim

tshaman

Tem como eu percorrer um array de objetos listando com alguma condição? Tipo listar os vetores cujo getSaldo for maior que 3000? Como eu faria?

:?

rmendes08

Você quer dizer listar os elementos do vetor cujos saldos são maiores que 3000 ? Ué, é só fazer um if dentro do for.

tshaman

Tentei mas não sei atribuir na condição o getSaldo ser superior a 3000… tipo não posso fazer diretamente pelo atributo saldo pq ele eh private, e o que tenho tentado aqui me dah erro na compilação

Valeu !

Lavieri

Tem como sim… vc pode criar filtros, e utilizar uma rotina para fazer uma busca…

Arrays são interessantes, mas Collections é uma ferramenta muito + poderosa, pois aceita diversas operações a mais que uma array…

uma forma de fazer a busca nessa sua array usando filtros, seria assim…

Filter<Conta> saldoMaiorQue3000 = Filter<Conta>() { public boolean match(Conta conta) { return conta != null ? conta.getSaldo() > 3000 : false; } };

ai para filtrar uma lista, com o resultado que vc quer, bastaria fazer

List<Conta> contasSaldoMaior3000 = CollectionUtils.findAllMatch(minhasContas,saldoMaiorQue3000);

vc pode ver como é possivel utilizar o Filter, e como é possivel criar a rotina em uma CollectionUtils, lendo esse artigo

CollectionUtils e Filter<T> Manipulando e criando buscas

tshaman

Verdade to lendo sobre isso
Obrigado pela dica Lavieri! :smiley:

Lavieri

tshaman:
Verdade to lendo sobre isso
Obrigado pela dica Lavieri! :D

Se tiver alguma duvida sobre o artigo, so comentar la, ou aqui mesmo…

se quiser saber como transformar uma Array em uma lista imutavel… (imutavel quer dizer que não aceita adds, ou deletes, aceita apenas operações de consulta…

so fazer Arrays.asList(suaArray);

se não me engnao… array list tem 1 construtor que aceita array… ai daria pra fazer

List contas = new ArrayList(minhasContas);

rmendes08

Não conhecia Filters! Muito bom!

tshaman

Programadores e estudantes de outras linguagens e outros fóruns não são tão empenhados em ajudar quanto em java…fico feliz por este fórum ter bons integrantes…obrigado mais uma vez

Um grande abraço!

Waregotenks

OI pessoal boa tarde!! Sou novo no Java e gostaria de Saber como faço pra declarar uma array heterogeneo de objetos…Sei que o array heterogeneo serve pra armazenar tipos de dados diferentes

uma array Unidimensional é Assim:
int [] tipo_nome = new int [10]; mas é um array que só armazena dados do tipo inteiro

se alguem pode me ajudar
eu agradeço!!

rmendes08

O array mais genérico que você pode declarar é um array de Object :

Object [] myArr;
Waregotenks

alguem conhece um Api que recebe por exemplo 15 e a base é 16, o método retornará o caractere ‘F’, uma vez que ‘F’ é a representação hexadecimal para o número 15 em base 10

Waregotenks

valeu amigo achei a resposta para o array

Criado 4 de abril de 2009
Ultima resposta 8 de nov. de 2009
Respostas 14
Participantes 4