int idx = r.nextInt(i);
Card x = (Card)cards.get(i);
x = (Card)cards.set(idx, x);
cards.set(i,x);
怎么理解后三句这个程序呢?
java
------解决方案--------------------
Card x = (Card)cards.get(i);//得到卡堆中第i位置的卡片,并赋值给x
x = (Card)cards.set(idx, x);//将x卡和卡堆中第idx位置的卡片对换,此时x就是cards中第idx位置的卡片
cards.set(i,x);将此时的x插入第i位置
//总之这是在把cards中第i位置和第idex位置的card对象进行交换~