[]
java arraylist sorusu
elimde boş bir arraylist var. bir de liste var. bu listedeki elemanlara tıkladıüım zaman bu arrayliste eklensin istiyorum ama ikinci tıkladığımda da listedeki elemanlar ekleniyor. bunun kontrolunu for döngüsü ile yapmaya çalıştım ama başaramadım. for döngüsü ile yatığım zamanda arrayliste hiç eleman eklemiyor.Şimdiden teşekkürler..
kodlar..
ArrayList<String> myList = new ArrayList<String>
String str;
str= edittext.getText.toString();
for (int i=0 ; i<myList .size(); i++){
if(myList.get(i).equals(str)){
Log.d("","","Daha önceden eklenmiş");
}
else
{
myList.add();
}
}
kodlar..
ArrayList<String> myList = new ArrayList<String>
String str;
str= edittext.getText.toString();
for (int i=0 ; i<myList .size(); i++){
if(myList.get(i).equals(str)){
Log.d("","","Daha önceden eklenmiş");
}
else
{
myList.add();
}
}
ArrayList yerine HashSet kullanin. Set oldugu icin duplicate elemanlara izin vermez, daha onceden eklenmis bir elemani eklemeye calisirsaniz gozardi eder.
- vudin (08.03.15 22:02:30)
mylist.add içinde eklenecek olan değer yok bu bir,
ikincisi diyelim listede tane eleman var,
0 -> a
1 -> b
sen üçüncü eleman olarak c yi ekleyeceksin
birinci elemanı karşılaştırdın fır dongusunde ve a eşit değil c ye dolayısı ile false döndü elemanı ekledin,
sonra diğer elemanı aldın kontrol ettin b eşit değil c ye oldu yine ekledin, dolayısı ile bu kod dublikate veriye yol açacaktır ileride.
set kullanabilirsin yada hashset kullanabilirsin veri tibi olarak
birden fazla tread aynı anda işlem yapabilir ise bu durumda da concurrent paketinden kullanmalısın tipleri.
ikincisi diyelim listede tane eleman var,
0 -> a
1 -> b
sen üçüncü eleman olarak c yi ekleyeceksin
birinci elemanı karşılaştırdın fır dongusunde ve a eşit değil c ye dolayısı ile false döndü elemanı ekledin,
sonra diğer elemanı aldın kontrol ettin b eşit değil c ye oldu yine ekledin, dolayısı ile bu kod dublikate veriye yol açacaktır ileride.
set kullanabilirsin yada hashset kullanabilirsin veri tibi olarak
birden fazla tread aynı anda işlem yapabilir ise bu durumda da concurrent paketinden kullanmalısın tipleri.
- selam (08.03.15 22:28:23)
1