黑马程序员技术交流社区

标题: 如果不借助工具类collections的排序.如何将集合排序 [打印本页]

作者: lipeng518    时间: 2016-9-21 16:00
标题: 如果不借助工具类collections的排序.如何将集合排序
[AppleScript] 纯文本查看 复制代码
public class Text {
        public static void main(String[] args) {
                //定义新集合
                ArrayList<Integer> list = new ArrayList<>();
                //创建random对象
                Random random = new Random();
                //循环五次依次添加元素
                for (int i = 0; i < 5; i++) {
                        //通过random获取随机数,(0-9)+1
                        int n=random.nextInt(10)+1;
                        //集合添加
                        list.add(n);
                }
                //打印排序前的集合
                System.out.println(list);
                //调用排序方法
                sort(list);
                //排序后的集合
                System.out.println(list);
               
        }
        //定义静态方法
        public static void sort(ArrayList<Integer> list) {
                //获取集合长度
            int len = list.size();
            //定义用于交换的变量
            int temp = 0;
            //外层循环控制比较的次数
            for (int i = 0; i < len; i++) {
                    //内层循环用于拿出每个值进行比较
                for (int j = i + 1; j < len; j++) {
                        //判断
                    if (list.get(i) > list.get(j)) {
                            //将大的数值先存放到变量中
                        temp = list.get(i);
                        //将第i个元素设置为第j个元素的值
                        list.set(i, list.get(j));
                       //将第j个元素设置为预先存储的变量,即i的值
                        list.set(j, temp);
                    }
                }
            }
        }
}

作者: yu244934256    时间: 2016-9-21 16:17
学到了怎么修改ArrayList的值
作者: 一半的留言    时间: 2016-9-21 16:38
跟数组差不多 选择一种排序的方法 然后使用集合的get 和set 进行交换
作者: daikaisheng    时间: 2016-9-21 23:12
遍历后,选择 冒泡 set get 都行
作者: theme890217    时间: 2016-9-21 23:20
循环数组,是不是也可以
作者: 暮雨微凉    时间: 2016-9-22 00:25
TreeSet 也有排序的功能,把要排序的集合放在TreeSet里面就行了




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