手记

JAVA入门第三季 6.5节Collections.sort()练习

package com.six.imooc;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Random;

import java.util.List;

import sun.tools.jar.resources.jar;

/**

  • 将要完成:
  • 1.通过Collections.sort()方法,对Integer泛型的List进行排序;
  • 2.对String泛型的List进行排序;
  • 3.对其他类型泛型的List进行排序,以Student为例。
    */

public class CollectionsTest {

/**
 * 1.通过Collections.sort()方法,对Integer泛型的List进行排序
 * 创建Integer泛型的List存放随机产生的十个100以内的正整数
 * 使用collections.sort方法对List中的十个正整数进行排序,最后打印输出
 */
public void testSort1() {
    List<Integer> integerList = new ArrayList<Integer>();
    //通过random方法,随机产生十个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>();
    stringList.add("Microsoft");
    stringList.add("Google");
    stringList.add("Lenovo");
    System.out.println("--------------排序前-----------------");
    for (String string : stringList) {
        System.out.println("元素:" + string);
    }
    Collections.sort(stringList);
    System.out.println("--------------排序后-----------------");
    for (String string : stringList) {
        System.out.println("元素:" + string);
    }
}

/**
 * 利用Collections.sort()方法对泛型为String的List进行排序版本2:
 * 1.创建完List<String>之后,往其中添加十条随机字符串
 * 2.每条字符串的长度为10以为的随机整数
 * 3.每条字符串的每个字符都为随机生成的字符,字符可以重复
 * 4.每条随机字符串不可重复
 * 
 */
public void testSort22() {

    List<String> stringList = new ArrayList<String>();
    String string = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";

    //添加十条随机字符串
    for(int i = 0 ; i < 10 ; i++) {
        StringBuffer sb = new StringBuffer();
        Random random = new Random();
        int digit = random.nextInt(10) + 1;
        //十条字符串不能有相同的字符串
        do {
            for(int j = 0 ; j < digit ; j++) {
                int num = random.nextInt(string.length());
                sb.append(string.charAt(num));
            }
        }while(stringList.contains(sb.toString()));
        //添加字符串到stringList中
        System.out.println("添加了字符串:" + sb);
        stringList.add(sb.toString());
    }

    System.out.println("--------------排序前-----------------");
    for (String st : stringList) {
        System.out.println("元素:" + st);
    }
    Collections.sort(stringList);
    System.out.println("--------------排序后-----------------");
    for (String st : stringList) {
        System.out.println("元素:" + st);
    }
}

/**
 * @param args
 */
public static void main(String[] args) {
    // TODO Auto-generated method stub

    CollectionsTest ct = new CollectionsTest();

// ct.testSort1();
// ct.testSort2();
ct.testSort22();
}

}

2人推荐
随时随地看视频
慕课网APP