1. 程式人生 > >java contains方法作用

java contains方法作用

1 String型別有一個方法:contains(),該方法是判斷字串中是否有子字串。如果有則返回true,如果沒有則返回false。

if(map_string.contains("name")){
    System.out.println("找到了name的key");
}
if(map_string.contains("password")){
    System.out.println("找到了password的key");
}

2.list.contains(o),比較list是否包含o

系統會對list中的每個元素e呼叫o.equals(e),方法,加入list中有n個元素,那麼會呼叫n次o.equals(e),只要有一次o.equals(e)返回了true,那麼list.contains(o)返回true,否則返回false。因此為了很好的使用contains()方法,我們需要重新定義下Student類的equals方法,根據我們的業務邏輯,如果兩個Student物件的orderId相同,那麼我們認為它們代表同一條記錄 :

ArrayList的contains方法的實現:

    public boolean contains(Object o) {
        return indexOf(o) >= 0;
    }
    public int indexOf(Object o) {
        if (o == null) {
            for (int i = 0; i < size; i++)
                if (elementData[i]==null)
                    return i;
        } else {
            for (int i = 0; i < size; i++)
                if (o.equals(elementData[i]))
                    return i;
        }
        return -1;
    }