| 
 
| 集合练习题 /*
 *编写程序,生成5个1至10之间的随机整数,存入一个List集合,编写方法对List集合进行排序(自定义排序算法,
 *禁用collection.sort方法和treeSet),然后遍历集合输出
 */package com.itheima.test04;
 
 import java.util.ArrayList;
 public class Example {
 public static void main(String[] args) {
 //创建ArrayList集合对象
 ArrayList<Integer> al = new ArrayList<Integer>();
 //循环生成五个元素,存入ArrayList集合中
 for(int i = 0; i < 5 ; i++) {
 al.add((int)(Math.random() * 10) + 1);
 }
 //ArrayList的底层数据结构是数组,故考虑使用数组排序的方式:冒泡排序或比较排序
 //冒泡排序法
 //    for(int i = 0; i < al.size() - 1; i++) {
 //        for (int j = 0; j < al.size()- 1 - i; j++) {
 //            //get(int index)方法,返回指定位置上的元素
 //            if(al.get(j) > al.get(j + 1)) {
 //                int temp = al.get(j);
 ////set(int index,E element)方法,用指定的元素,替代此列表中指定位置上的元素
 //                al.set(j, al.get(j + 1));
 //                al.set(j + 1, temp);
 //            }
 //        }
 //    }
 //选择排序法
 for(int i = 0; i < al.size() - 1; i++) {
 for (int j = i + 1; j < al.size(); j++) {
 //get(int index)方法,返回指定位置上的元素
 if(al.get(i) > al.get(j)) {
 int temp = al.get(i);
 //set(int index,E element)方法,用指定的元素,替代此列表中指定位置上的元素
 al.set(i, al.get(j));
 al.set(j, temp);
 }
 }
 }
 //遍历集合中的元素,并打印在控制台中
 for (Integer t : al) {
 System.out.print(t + " ");
 }
 }
 
 }
 每次在控制台中运行的结果是不一致的,因为集合中的元素是随机产生的,在控制台中出现的效果为:2 4 6 8 10
 | 
 |