Limpando valores de um arraylist

Boa noite

Queria saber se alguem pode me ajudar a comparar dados de um arraylist e apagar o mesmo, caso ele já esteja contido nesse arraylist.
O trecho do código é o seguinte:

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         

    Object[] S = jList2.getSelectedValues();

for(int i = 0; i < S.length; i++ ){
lista.add((String)S[i]);
jLabel2.setText(“Dias Selecionados:” + lista);
}
}

Neste caso estou inserindo os valores selecionados na JList e incluindo todos num arraylist, mas como faço para apagar o dado caso ele ja exista no arraylist?

Obrigado.

Boa noite Agro…
vc ja tentou colocar uma condição (if ou while) dentro do seu loop pra comparar a entrada com a posição que está sendo lida?

:wink:

Leia sobre Collections na documentação do Java

http://download.oracle.com/javase/1.4.2/docs/api/java/util/Collection.html

[quote=Catalao]Boa noite Agro…
vc ja tentou colocar uma condição (if ou while) dentro do seu loop pra comparar a entrada com a posição que está sendo lida?

;)[/quote]
Pois é… sei q tm q fazer uma comparação, só não sei como comparar o dado selecionado com o que está la no array.
O valor do array pego fazendo um novo loop, só não sei pegar o valor selecionado.

Ag?ro,

Primeiro:
pesquise sobre o método equals().

Segundo:
pesquise sobre Set e suas subclasses.

Basicamente, você vai descobrir que o Set garante a unicidade dos elementos contidos em sua estrutura e, para determinar se os objetos são iguais, ele utilizará o equals() (que é definido na classe Object e você terá que sobrescrevê-lo).

Dê uma olhada e o quê você não enteder, pergunte.

Se precisar de mais ajuda, avise.

Abraço!

[quote=jubiraco]Ag?ro,

Primeiro:
pesquise sobre o método equals().

Segundo:
pesquise sobre Set e suas subclasses.

Basicamente, você vai descobrir que o Set garante a unicidade dos elementos contidos em sua estrutura e, para determinar se os objetos são iguais, ele utilizará o equals() (que é definido na classe Object e você terá que sobrescrevê-lo).

Dê uma olhada e o quê você não enteder, pergunte.

Se precisar de mais ajuda, avise.

Abraço!
[/quote]

Vlw, mas já consegui

Acho q é até uma gambiarra mas deu… fiz um outro array para marcar o selecionado “da vez” para comparar com o que “ja existia”… dai extraio o valor num for e comparo diretamente, se == não add.

Vlw, até+

[quote=Ag?ro][quote=jubiraco]Ag?ro,

Primeiro:
pesquise sobre o método equals().

Segundo:
pesquise sobre Set e suas subclasses.

Basicamente, você vai descobrir que o Set garante a unicidade dos elementos contidos em sua estrutura e, para determinar se os objetos são iguais, ele utilizará o equals() (que é definido na classe Object e você terá que sobrescrevê-lo).

Dê uma olhada e o quê você não enteder, pergunte.

Se precisar de mais ajuda, avise.

Abraço!
[/quote]

Vlw, mas já consegui

Acho q é até uma gambiarra mas deu… fiz um outro array para marcar o selecionado “da vez” para comparar com o que “ja existia”… dai extraio o valor num for e comparo diretamente, se == não add.

Vlw, até+[/quote]

O que você está procurando já existe cara…
utiliza o HashSet!!!

Set listElementos = new HashSet();