刚刚测试了一下,应该这样理解,当吧其中一个对象添加进去的时候,容量为1,此时可以add()的范围为0,1 ,如果填写0,是在当前的对象前面添加,写1是在后面添加,容量为2时候以此类推它的范围,0,1,2。而不是按照数组里面容量为2其下标范围为0,1。。。仅供参考,有问题可以探讨一下
2015-01-05
已采纳回答 / 木刻王
前面强制转换的是 Math.random*10 Math.random 出来的是0到1范围内的随机数 后面强转Math.random 转的是零点几,转出来是0,然后再乘以10,当然是0了。
2015-01-05
public void testSort3(){
List<String> stringList = new ArrayList<String>();
//随机添加10条字符串
for (int i = 0; i < 10; i++) {
Random random = new Random();
//随机生成字符数组的长度
char[] chars = new char[1+random.nextInt(10)];
//随机生成字符数组的每一个字符并放入字符数组,包括0-9 A-Z a-z
List<String> stringList = new ArrayList<String>();
//随机添加10条字符串
for (int i = 0; i < 10; i++) {
Random random = new Random();
//随机生成字符数组的长度
char[] chars = new char[1+random.nextInt(10)];
//随机生成字符数组的每一个字符并放入字符数组,包括0-9 A-Z a-z
2015-01-03
for (int j = 0; j < chars.length; j++) {
int k=0;
while(true){
k = random.nextInt(123);
if ((k >= 48 && k <= 57) ||
(k >= 65 && k <= 90) ||
(k >= 97 && k <= 122)) {
chars[j] = (char)k;
break;
}
}
}
int k=0;
while(true){
k = random.nextInt(123);
if ((k >= 48 && k <= 57) ||
(k >= 65 && k <= 90) ||
(k >= 97 && k <= 122)) {
chars[j] = (char)k;
break;
}
}
}
2015-01-03
//字符数组变成字符串
String line = new String(chars);
//将字符串存入到 stringList集合 中
stringList.add(line);
}
String line = new String(chars);
//将字符串存入到 stringList集合 中
stringList.add(line);
}
2015-01-03
//遍历输出所有 stringList集合 元素
System.out.println("----------排序前------------");
for (String string : stringList) {
System.out.println("元素:"+string);
}
System.out.println("----------排序前------------");
for (String string : stringList) {
System.out.println("元素:"+string);
}
2015-01-03
//排序 遍历输出所有 stringList集合 元素
System.out.println("----------排序后------------");
Collections.sort(stringList);
for (String string : stringList) {
System.out.println("元素:"+string);
}
}
System.out.println("----------排序后------------");
Collections.sort(stringList);
for (String string : stringList) {
System.out.println("元素:"+string);
}
}
2015-01-03