把它转化成list,取出一个删除一个,直到所有的都取完

解决方案 »

  1.   

    Vector vector=new Vector();
    Enumeration temp;
    boolean add;
    for(int i=0;i<Array.length;i++)
    {
        add=true;
        temp=vector.elements();
        while(temp.hasMoreElements())
        {
             int a=(Integer)temp.nextElement().intValue();
             if(a==Array[i])
             {
                  add=false;
                  break;
             }
        }
        if(add)
             vector.addElement(new Integer(Array[i]);
    }
      

  2.   

    用Set存储取出来的数,比如下面的程序可以将数组a按顺序并且没有重复存入b中
    HashSet b=new HashSet();
    for(int i=0;i<a.length;i++){
     b.add(new Integer(a[i]));
    }
      

  3.   

    意思有点不明白的说。是不是有一个不确定长度的数组,现在你需要从中随机取出数据,但是不能重复,直到取完为止。是装样子吗?我是这样子想的,你随机取数据,无非是产生随机的index去访问数组。只要保证这个index不重复旧可以了。刚好楼上的那个兄弟说了set,其实就这样子来完成,
    生成一个set集合,保存已经访问过的index值,当每次新产生一个index后,先去找在set中有没有。如果已经出现,说明取过了。如果没有出现,那就是没有重复了。Set indexSet = new HashSet();
    //这里是你产生随机index的程序
    Integer temp = new Integer(index);
    if(indexSet.contains(temp) )
    //重复
    else{
        indexSet.add(temp);
        //然后取你要取得数字
        Object retObject = Array[index];
    }