2013年2月25日 星期一

[演算法]比對傳進來的資料,若ArrayList裡沒重複 就塞進去

這個文章標題已經夠直白了,
這是我的目標

本來認為也應當是:(大略測試程式碼)
private ArrayList sid = new ArrayList();
private String seat;

seat = 10;
String s = "10";
//放s進sid的ArrayList中
sid.add(s)
//因為放了所以會直接跳到else

if(sid.isEmpty()){
sid.add(seat);
}
    else
    {
for(int i = 0;i < sid.size(); i++){
        String a = sid.get(i);
               if(seat.equals(a)){
sid.add(seat);
}
             }
}
照理說可以,但是卡住了 結果會有點怪
第一次因為是空所以可以塞
第二次因為裡面有東西 但是是一樣的所以塞不進去




後來找到解決方案的曙光:http://bbs.csdn.net/topics/90362606
ArrayList ary=new ArrayList();
if (!ary.Contains("xxx"))
{
     ary.Add("xxx");
}
改成這樣就過了:

 String seat = intent.getExtras().getString("seat_id");
    if(sid.isEmpty()){
sid.add(seat);
}
    else
    {
if(!sid.contains(seat))
sid.add(seat);
}

沒有留言:

張貼留言