试试 :if(!contains("aa"))
    list.add("aa");
......
.....

解决方案 »

  1.   

    Hashtable tmpHash = new Hashtable();
    for(int i=0;i<list.size();i++){
       Object o = list.get(i);
       tmpHash.set(o,new Integer(i));
    }
    ArrayList tmpList = new ArrayList(tmpHash.size());
    Enumeration e = tmpHash.keys();
    while(e.hasMoreElements()){
       Object o = e.nextElement();
       tmpList.add(((Integer)tmpHash.get(o)).intValue(),o);
    }
    return tmpList;
      

  2.   

    如果你想去除重复的项目的话
    那么可以把这些元素都放到一个Map里面
    比如LinkedHashMap
    Map里面不能有相同元素
    所以相同的就被过滤掉了
    然后你再把map里面的元素倒回来
      

  3.   

    刚才是随手写的,没仔细想
    最后那个插入ArrayList时,那个index应该是比较Hashtable的value后再插入相应位置的
      

  4.   

    thanks,
    to windgh(wind),
    怎么做,还没有明白?
      

  5.   

    按你的要求,如果是用Hashtable的话,我想更加简单啊。
      

  6.   

    在你的这个帖子里面
    http://expert.csdn.net/Expert/topic/1977/1977559.xml?temp=.3719599
    有人已经给了答案了阿
    怎么你不太明白吗?
    public class TestArrayList
    {
        public TestArrayList()
        {
        }
        public static void main(String[] args)
        {
            java.util.ArrayList t = new java.util.ArrayList();
            t.add("3"); t.add("1"); t.add("3"); t.add("9"); t.add("3");
            System.out.println(t);        java.util.LinkedHashMap m = new java.util.LinkedHashMap();
            for(int i=0;i<t.size();i++)
                m.put(t.get(i),t.get(i));        t = new java.util.ArrayList( m.keySet() );
            System.out.println( t );
        }}
      

  7.   

    用得着那么麻烦吗?我的代码就能实现啊。查查ArrayList的contains方法源码就知道了。