黑马程序员技术交流社区
标题:
代码臃肿问题
[打印本页]
作者:
251855915
时间:
2016-4-19 22:58
标题:
代码臃肿问题
package com.heima.list;
import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
import java.util.Random;
public class Work {
/**
* @param args
* (1)生成10个1至100之间的随机整数(不能重复),存入一个List集合(可以先不适用泛型,泛型明天讲)
(2)编写方法对List集合进行排序,禁用Collections.sort方法和TreeSet
(3)然后利用迭代器遍历集合元素并输出
(4)如:15 18 20 40 46 60 65 70 75 91
(1)1.创建随机数生成器
Random r= new Random();
2.1到100之间
int i = r.nextInt(100)+1;
3.生成十个并用集合存储
List list = new Arraylist();
for(int x = 0;x < 10;x++){
list.add(r.nextInt(100)+1);
}
(2)1.排序先将list转换为数组,然后用选择排序/冒泡排序,然后将数组转换为集合
object[] obj = list.toarray();
(3)迭代器
listite... lit = list.listite
while(lit.hasnext()){
int i = lit.next();
syso(i);
}
*/
public static void main(String[] args) {
Random r= new Random(); //创建随机数生成器
List list = new ArrayList(); //创建集合
while(list.size() < 10){ //将随机数存储到集合中,因为不知道要做多少次循环,所以用while
int x = r.nextInt(100)+1;
if(!list.contains(x)){
list.add(x);
}
}
/* for (int i = 0; list.size() < 10; i++) { //将随机数存储到集合中
int x = r.nextInt(100)+1;
if(!list.contains(x)){
list.add(x);
}
System.out.print(i); //看看是否出现了重复的数字
}*/
Object[] obj = list.toArray(); //将集合转换为数组
int[] arr = new int[obj.length]; //将obj数组转换为int数组
for (int i = 0; i < obj.length; i++) {
arr[i] = (int)obj[i];
}
for (int i = 0; i < arr.length-1; i++) { //选择排序
for (int j = i+1; j < arr.length; j++) {
if (arr[i]>arr[j]) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
/*for (int i = 0; i < arr.length; i++) { //打印一下
System.out.print(arr[i]+" ");
}*/
list.clear(); //将原来的list清空
for (int i = 0; i < arr.length; i++) { //将排序好的数组存储到list
list.add(arr[i]);
}
//System.out.println(list);
ListIterator lit = list.listIterator(); //创建迭代器
while(lit.hasNext()){ //利用迭代器打印
System.out.print(lit.next()+" ");
}
}
}
复制代码
感觉代码很臃肿,怎么解决呢
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2