怎样得到一个数组的一个随机排列?如我现在有个数组里面的元素为{1,2,3,4,5},现在我要每次得到它里面所有元素的一个随机排列,如第一次我可能得到{2,3,4,1,5},第二次我可能得到{3,2,5,4,1}!谢谢了!

解决方案 »

  1.   

    把数据保存到list中,调用Connections.shuffle(list)就可以了。
      

  2.   

    Vector org = new Vector();for(int i=0; i<5; ++i)
      org.addElement(Integer(i)); // 0,1,2,3,4 => org vectorRandom rnd = new Random();Vector dest = new Vector();
    for(i=0; i<5; ++i) {
      int r = abs(rnd.nextInt())%(5-i);
      dest.addElement(Integer(org.elementAt(r)));
      org.remove(r);
    }dest向量得到的就是一个org向量打乱后的序列