<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
    主站蜘蛛池模板: 亚洲最新在线视频| 亚洲国产成人片在线观看| 亚洲成_人网站图片| 91香蕉国产线观看免费全集| 亚洲综合图色40p| 国产免费人成视频在线播放播| 亚洲精品麻豆av| 国产无限免费观看黄网站| 亚洲人成网站18禁止一区| 一级毛片视频免费观看| 亚洲精品国产福利一二区| 一出一进一爽一粗一大视频免费的 | 亚洲成AV人片在线观看WWW| 久久er国产精品免费观看2| 亚洲卡一卡2卡三卡4卡无卡三| 久久这里只精品国产免费10| 久久亚洲精品成人无码网站| 成年人视频免费在线观看| 亚洲人成色99999在线观看| 黄网址在线永久免费观看 | 亚洲精品二区国产综合野狼| 国产成人一区二区三区视频免费| 久久久久亚洲AV无码专区首JN| 男女做羞羞的事视频免费观看无遮挡| 亚洲综合中文字幕无线码| 四虎永久在线精品免费影视| GOGOGO免费观看国语| 久久亚洲精品人成综合网| 免费的一级黄色片| 免费看无码特级毛片| 亚洲AV无码精品蜜桃| 亚洲国产午夜福利在线播放| 亚在线观看免费视频入口| 亚洲综合精品第一页| 国产精品亚洲综合一区| 最近中文字幕mv免费高清视频8 | 精品在线免费视频| 亚洲视频在线一区| 免费二级毛片免费完整视频| 免费的全黄一级录像带| 亚洲欧美日韩综合久久久久|