黑马程序员技术交流社区

标题: 编写程序,生成5个1至10之间的随机数,存入List集合,排序的疑问 [打印本页]

作者: 715596417    时间: 2016-3-26 17:12
标题: 编写程序,生成5个1至10之间的随机数,存入List集合,排序的疑问
编写程序,生成5个1至10之间的随机数,存入List集合,编写方法对集合进行排序自定义算法排序,禁用Collections和TreeSet
  1. public class Demo {
  2.         public static void main(String[] args) {
  3.                 List<Integer> list = new ArrayList<Integer>();
  4.                 for (int x = 1; x <= 5; x++) {
  5.                         Random r = new Random();
  6.                         int n = r.nextInt(10) + 1;
  7.                         list.add(n);
  8.                 }
  9.                 // Collections.sort(list);
  10.                 System.out.println(list);
  11.                 Integer[] arr = list.toArray(new Integer[list.size()]);
  12.                 Arrays.sort(arr);
  13.                
  14.         }

  15. }
复制代码

把集合中的元素转换成数组,用冒泡排序,但是集合中的元素还是没有变的。排序的只是数组,难度要重新添加到另外一个集合才行?那就不是原来的集合了。求大神解释下?
作者: 715596417    时间: 2016-3-26 17:15
  1. public class Demo {
  2.         public static void main(String[] args) {
  3.                 List<Integer> list = new ArrayList<Integer>();
  4.                 for (int x = 1; x <= 5; x++) {
  5.                         Random r = new Random();
  6.                         int n = r.nextInt(10) + 1;
  7.                         list.add(n);
  8.                 }
  9.                 // Collections.sort(list);
  10.                 System.out.println(list);
  11.                 Integer[] arr = list.toArray(new Integer[list.size()]);
  12.                 Arrays.sort(arr);
  13.                 list.clear();
  14.                 for(Integer i:arr){
  15.                         list.add(i);
  16.                 }
  17.                 System.out.println(list);
  18.                
  19.         }

  20. }
复制代码

这是我重新做的,把集合中的元素清除,重新添加,这样对吗?




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2