<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-61  評論-159  文章-0  trackbacks-0
            最近重構項目里面的一個功能,其中用到Vector容器,有一種情況是Vector里面含有相同的元素,造成得到的結果不是預期的,所以要去掉Vector里面的重復的元素。
            通過查看jdk文檔,得知有個contains()方法,如果此向量包含指定的元素,則返回 true。更確切地講,當且僅當此向量至少包含一個滿足 (o==null ? e==null : o.equals(e)) 的元素 e 時,返回 true
            JDK原文:

    contains

    public boolean contains(Object elem)
    Tests if the specified object is a component in this vector.

     

    Specified by:
    contains in interface Collection<E>
    Specified by:
    contains in interface List<E>
    Overrides:
    contains in class AbstractCollection<E>
    Parameters:
    elem - an object.
    Returns:
    true if and only if the specified object is the same as a component in this vector, as determined by the equals method; false otherwise.
     
    因此:可以通過該方法來實現過濾重復的元素。

    contains方法JDK源碼:

     

    1public boolean contains(Object elem) {
    2    return indexOf(elem, 0>= 0;
    3    }

     

     1public synchronized int indexOf(Object elem, int index) {
     2    if (elem == null{
     3        for (int i = index ; i < elementCount ; i++)
     4        if (elementData[i]==null)
     5            return i;
     6    }
     else {
     7        for (int i = index ; i < elementCount ; i++)
     8        if (elem.equals(elementData[i]))
     9            return i;
    10    }

    11    return -1;
    12    }

    注:contains方法里面返回的indexOf(Object elem, int index)方法,十分重要。

    測試例子:

     1package org.apple.collection.test;
     2
     3import java.util.Vector;
     4
     5public class VectorTest {
     6
     7    /**
     8     * @param args
     9     */

    10    public static void main(String[] args) {
    11        // TODO Auto-generated method stub
    12        Vector<String> v = new Vector<String>();
    13        Vector<String> o = new Vector<String>();
    14        v.add("aaaaa");
    15        v.add("bbbbb");
    16        v.add("aaaaa");
    17        v.add("ccccc");
    18        for(int i=0;i<v.size();i++)
    19        {
    20        if(!o.contains(v.get(i)))
    21            o.add(v.get(i));
    22        }

    23        for(int j = 0;j<o.size();j++)
    24        {
    25            System.out.println(o.get(j));
    26        }

    27
    28    }

    29
    30}

    31

    輸出結果aaaaa bbbbb  ccccc

    PS:所以通過contains方法可以把重復元素過濾掉。

     




    -------------------------------------------------------------------------------------------------
    PS:本博客文章,如果沒有注明是有“轉”字樣,屬于本人原創。如果需要轉載,務必注明作者文章的詳細出處地址,否則不允許轉載,多謝合作!
    posted on 2008-11-04 23:48 apple0668 閱讀(3975) 評論(0)  編輯  收藏 所屬分類: java
    主站蜘蛛池模板: 国产人成网在线播放VA免费| 中文字幕一精品亚洲无线一区| 亚洲乱码中文字幕小综合| 午夜网站在线观看免费完整高清观看 | 久久久久久精品免费看SSS| 亚洲av永久无码精品网站| 你是我的城池营垒免费观看完整版| 亚洲综合精品香蕉久久网| 国产又黄又爽又大的免费视频 | 亚洲神级电影国语版| 99久久99这里只有免费费精品| 国内精品久久久久影院亚洲| 精品国产麻豆免费网站| 看全免费的一级毛片| 亚洲婷婷国产精品电影人久久| 成人免费777777被爆出| 亚洲av无码国产精品夜色午夜 | 亚洲精品无码av片| 亚洲国产精品成人网址天堂| 一个人看的www视频免费在线观看| 亚洲Av综合色区无码专区桃色| 久久国产高潮流白浆免费观看| 亚洲国产系列一区二区三区| 国产精品极品美女免费观看| 三上悠亚电影全集免费| 精品亚洲aⅴ在线观看| 日韩免费高清视频网站| 一个人看的免费观看日本视频www 一个人看的免费视频www在线高清动漫 | 亚洲一级毛片免费观看| 亚洲色成人WWW永久在线观看| 亚洲av无码不卡私人影院| 福利免费在线观看| 亚洲欧洲日韩在线电影| 国产成人无码区免费A∨视频网站 国产成人涩涩涩视频在线观看免费 | 自拍偷自拍亚洲精品第1页| 99久久免费看国产精品| 色偷偷亚洲第一综合| 亚洲国产综合精品中文第一区| 成人爽A毛片免费看| aaa毛片视频免费观看| 色噜噜亚洲男人的天堂|