ArrayList

Olá pessoal, digamos que na minha classe DAO eu preciso utilizar um arrayList com os clientes do banco de dados em 2 métodos. O que seria melhor, popular a arrayList no construtor da classe que popula 1 vez só e quando precisar da arrayList ela já está populada ou popular dentro de de cada método e ela só será populada na hora em que precisar do método ?

Atc,
Fernando.

eu nao vou mentir, nao entendi direito a pergunta nao, “populada” ,“popular” etc. tanta expressao estranha e nao muito objetivo.

Um arrayList está populada quando você faz um add na arrayList, carrega a arrayList com valores, você está populando esse array, certo? inserindo dados nele.
A pergunta foi, é preferível carregar um arrayList no construtor da classe e depois chamar o arraylist no método que vai utilizar, ou deixar pra carregar o arrayList na hora hora que invocar o método, lembrando que são apenas 2 métodos que irão utilizar o arrayList ?

É necessário mais informações para uma melhor ajuda.

Ps.: Desculpe se ofender, mas popular um array deveria ser um termo conhecido por um Analista Programador.

Exemplo:
Na minha minha DAO possuo os seguintes métodos:

public ClienteBean primeiroRegistro();{
     // Aqui devo carregar minha ArrayList();
} 
public ClienteBean proximoRegistro();{
     // Aqui devo carregar minha ArrayList() novamente;
}

Ou ao invés de carregar nos 2 métodos acima, carrego no construtor da classe, e depois apenas chamo a Arraylist dentro dos métodos, ou devo carregar como o ex: acima ?

Ainda depende hehe mas está muito mais para um caso que seria melhor carregar o Array inteiro no construtor, afinal são métodos de iterar no array

Carregue no construtor. Ele fará a consulta apenas uma vez, o que aumentará o desempenho do seu programa.

Porém há alguns casos em que isso pode ser ruim. Por exemplo, você pode estar alterando algo que já não seja mais válido, pois alguém pode ter mudado o dado em outra instância do programa. Dependendo do que você vá fazer há de se levar isso com consideração.

Mas eu faria o carregamento direto no construtor, caso os dados não sejam alterados.

A questão é simples. Você só conseguirá utilizar seu ArrayList “populado” caso você não perca a referência para o mesmo, caso contrário, você terá que adicionar as informações ao seu ArrayList quando se faz necessário.

Exemplo, você adiciona as informações ao seu ArrayList e perde a referência para o mesmo, quando tentar acessar os valores não será possível. Agora me responda, qual seria a utilização dos dois ArrayList? Seria para buscar dados no banco e armazena-los em um Array? E o segundo array?

Apenas editando, concordo com os amigos acima desde que você utilize o Array na mesma instancia, senão adeus referência ao objeto. Se eu estiver enganado me corrijam :slight_smile:

Abraços.

[quote=marcio_gs]É necessário mais informações para uma melhor ajuda.

Ps.: Desculpe se ofender, mas popular um array deveria ser um termo conhecido por um Analista Programador.[/quote]

Desculpe se ofender mas “popular” não existe em português para se referir ao preenchimento de uma lista. essa expressão advém do “populate” do inglês que não se adapta ao português dessa forma já que “popular” não é um verbo.

popular
adj. 2 gén.

  1. Relativo ou pertencente ao povo.
  2. Que é usado ou comum entre o povo.
  3. Que é do agrado do povo.
  4. Vulgar, notório.
  5. Democrático.
    s. m.
  6. Homem do povo.

No mesmo género de “deletar” , “printar” e por ai vai… não são palavras corretas e não devem ser usadas por nenhum analista.

[quote=sergiotaborda][quote=marcio_gs]É necessário mais informações para uma melhor ajuda.

Ps.: Desculpe se ofender, mas popular um array deveria ser um termo conhecido por um Analista Programador.[/quote]

Desculpe se ofender mas “popular” não existe em português para se referir ao preenchimento de uma lista. essa expressão advém do “populate” do inglês que não se adapta ao português dessa forma já que “popular” não é um verbo.

popular
adj. 2 gén.

  1. Relativo ou pertencente ao povo.
  2. Que é usado ou comum entre o povo.
  3. Que é do agrado do povo.
  4. Vulgar, notório.
  5. Democrático.
    s. m.
  6. Homem do povo.

No mesmo género de “deletar” , “printar” e por ai vai… não são palavras corretas e não devem ser usadas por nenhum analista.[/quote]

Até concordo com o que você disse. Mas você saberia me dizer o que é deletar, printar, popular, não saberia?

Então, não estou dizendo que ele deveria falar, mas conhecer, isso deveria.

Aff, não acredito que o assunto do tópico virou o português.

Muitas áreas admitem jargões, e a nossa não está fora delas. Usar jargões dentro do meio não é um caso de inadequação linguística.
Concordo com o Sérgio que ele diz que um “analista” não deveria usar, especialmente na frente do cliente.

Mas, estamos entre programadores, então, não vejo mal nenhum em usar jargões, especialmente um tão comum como “popular uma lista”, “deletar um arquivo” ou “customizar uma aplicação”.

assino em baixo o post do Vini.

Voltando ao assunto do tópico, sempre achei que popular uma lista num construtor uma péssima estratégia. Geralmente, listas são preenchidas em algum método fábrica estático, ou em algum método normal do DAO.

Você não irá repetir o código várias vezes. Crie um método privado que preencha a lista baseado num recorset, refatore seu código.

[quote=marcio_gs]É necessário mais informações para uma melhor ajuda.

Ps.: Desculpe se ofender, mas popular um array deveria ser um termo conhecido por um Analista Programador.[/quote]

bom, vamos la somente para esclare será que nos conhecemos todas as girias usadas no dia-dia seja em TI ou nao? E um detalhe pode ser algo somente usado entre brasileiros nao sei, acho que se eu falar isso para meu teamleader que eh americano ele nao vai entender, cuidado com esses maus habitos que podem se tornar vicio, e quando isso acontece falamos eles com os clientes e nem percebemos. Eu mesmo nao entendi o termo popular, aproximei o que ele quis dizer, mas por isso nao deixei de ser analista programador, é o velho fato vivendo e aprendendo.
:smiley:

[quote=LPJava]Eu mesmo nao entendi o termo popular, aproximei o que ele quis dizer, mas por isso nao deixei de ser analista programador, é o velho fato vivendo e aprendendo.
:D[/quote]
Falto 4 palavras…
Errano e se fudendo
kkkkk
:twisted:

É incrível como alguns (para não se dizer vários) tópicos perdem o foco original. E concordo com o Viny, não creio que preencher um ArrayList no construtor seja uma boa iniciativa, pelo menos não para a sua necessidade.

Abraços.