public static final void shuffleList(List l){
  Random d=new Random();
  for (int iCnt=0; iCnt < l.size() - 1; iCnt++) {
    for (int iSwapPos=iCnt + 1; iSwapPos < l.size(); iSwapPos++) {
      if (d.nextBoolean()) {
        Object oTemp=l.get(iSwapPos);
        l.set(iSwapPos,l.get(iCnt));
        l.set(iCnt,oTemp);
        continue;
      }
    }
  }
  for (int iCnt=l.size() - 1; iCnt > 0; iCnt--) {
    for (int iSwapPos=iCnt - 1; iSwapPos > 0; iSwapPos--) {
      if (d.nextBoolean()) {
        Object oTemp=l.get(iSwapPos);
        l.set(iSwapPos,l.get(iCnt));
        l.set(iCnt,oTemp);
      }
    }
  }
}

public static final void shuffleList ( List l ) { Random d = new Random ( ) ; for ( int iCnt = 0 ; iCnt < l . size ( ) - 1 ; iCnt ++ ) { for ( int iSwapPos = iCnt + 1 ; iSwapPos < l . size ( ) ; iSwapPos ++ ) { if ( d . nextBoolean ( ) ) { Object oTemp = l . get ( iSwapPos ) ; l . set ( iSwapPos , l . get ( iCnt ) ) ; l . set ( iCnt , oTemp ) ; continue ; } } } for ( int iCnt = l . size ( ) - 1 ; iCnt > 0 ; iCnt -- ) { for ( int iSwapPos = iCnt - 1 ; iSwapPos > 0 ; iSwapPos -- ) { if ( d . nextBoolean ( ) ) { Object oTemp = l . get ( iSwapPos ) ; l . set ( iSwapPos , l . get ( iCnt ) ) ; l . set ( iCnt , oTemp ) ; } } } }
randomizes the order of items in a given list .
