为了账号安全,请及时绑定邮箱和手机立即绑定

记录一下课程作业

public class CollectionsTest {

    public int length;
    public static final String ALLCHAR = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";

    /**
     * 1.通过Collections.sort()方法,对Integer泛型的List进行排序;
     * 创建一个Integer泛型的List,插入十个100以内的不重复随机整数,
     * 调用Collections.sort()方法对其进行排序
     */
    public void testSort1(){
        List<Integer> integerList = new ArrayList<Integer>();
        // 插入十个100以内的不重复随机整数
        Random random = new Random();
        Integer k;
        for(int i=0;i<10;i++){
            do{
                k = random.nextInt(100);
            }while (integerList.contains(k));
            integerList.add(k);
            System.out.println("成功添加整数:"+k);
        }
        System.out.println("------------------序列排序前--------------------");
        for(Integer integer : integerList){
            System.out.println("元素:"+integer);
        }
        Collections.sort(integerList);
        System.out.println("------------------序列排序后--------------------");
        for(Integer integer : integerList){
            System.out.println("元素:"+integer);
        }
    }

    /**
     * 2.对String泛型的List进行排序;
     * 创建String泛型的List,添加三个乱序的String元素,
     * 调用sort方法,再次输出排序后的顺序
     */
    public void testSort2(){
        List<String> stringList = new ArrayList<String>();

        // 插入十个100以内的不重复随机整数
        Random random = new Random();

        for(int i=0;i<10;i++){
            StringBuffer buf = new StringBuffer();
            length = random.nextInt(10) + 1;
            do{
                for(int j=0;j<length;j++){
                    int number = random.nextInt(ALLCHAR.length());
                    buf.append(ALLCHAR.charAt(number));
                }
            }while(stringList.contains(buf.toString()));
            stringList.add(buf.toString());
            System.out.println("成功添加元素:" + buf);
        }
        System.out.println("-------排序前-------");
        for (String str:stringList
             ) {
            System.out.println("元素:"+str);
        }
        Collections.sort(stringList);
        System.out.println("-------排序后-------");
        for (String str:stringList
                ) {
            System.out.println("元素:"+str);
        }
    }

    /**
     * 3.对其他类型泛型的List进行排序,以Student为例。
     */
    public void testSort3(){
        List<Student> studentList = new ArrayList<Student>();
        List<String> stringList = new ArrayList<String>();
        Random random = new Random();
        String strnum;
        for(int i=0;i<3;i++){
            int number = random.nextInt(1000);
            do{
                strnum = Integer.toString(number);
            }while (stringList.contains(strnum));
            stringList.add(strnum);
        }
        
        studentList.add(new Student(stringList.get(0),"tom"));
        studentList.add(new Student(stringList.get(1),"jack"));
        studentList.add(new Student(stringList.get(2),"jerry"));

        System.out.println("--------排序前--------");
        for (Student stu: studentList
             ) {
            System.out.println("学生的姓名为:"+stu.getName()+",学生的ID为:"+stu.getId());
        }
        Collections.sort(studentList);
        System.out.println("--------排序后--------");
        for (Student stu: studentList
                ) {
            System.out.println("学生的姓名为:"+stu.getName()+",学生的ID为:"+stu.getId());
        }
        System.out.println("--------使用comparator排序--------");
        Collections.sort(studentList,new StudentComparator());
        for (Student stu: studentList
                ) {
            System.out.println("学生的姓名为:"+stu.getName()+",学生的ID为:"+stu.getId());
        }
    }


    public static void main(String[] args) {
        CollectionsTest ct = new CollectionsTest();
        //ct.testSort1();
        // ct.testSort2();
        ct.testSort3();
    }
}


正在回答

1 回答

针对课后作业写了一下testSort2()方法和testSort3()方法。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第三季
  • 参与学习       409790    人
  • 解答问题       4340    个

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

进入课程

记录一下课程作业

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信