关于ArrayList特性的问题
import java.util.ArrayList;
public class Test {
static String[] randomSort(ArrayList al) {
String[] sbuf = new String[al.size()];
for(int i = 0; i < sbuf.length; i++) {
sbuf[i] = (String)al.remove((int)(Math.random()*al.size()));
}
return sbuf;
}
public static void main(String[] args) throws Exception {
ArrayList al = new ArrayList();
for(int i = 0; i < 10; i++) {
char c = (char)(i+97);
al.add(String.valueOf(c));
}
String[] sbuf = randomSort(al);
String[] sbuf2 = new String[al.size()];
for(int i = 0; i < sbuf2.length; i++) {
sbuf2[i] = sbuf[i];
System.out.println(sbuf2[i]);
}
for(int i = 0; i < sbuf2.length; i++) {
System.out.println(sbuf2[i]);
}
}
}
给结果
所为什么