第5节 应用Collection.sort()实现List排序
Arrays类(java.util.Arrays)包含操作数组的各种静态方法
Collections工具类(java.util.Collections)是Java集合框架中,用来操作集合对象的工具类,也是Java集合框架的成员
package com.imooc.collection;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;
public class CollectionsTest {
/**
* 即将实现:
* 1、通过Collections.sort()方法,对Integer泛型的List进行排序;
* 2、对String泛型的List进行排序;
* 3、对其他类型泛型的List进行排序,以Student为例。
* @param args
*/
//创建一个Integer泛型的List,插入十个100以内的不重复随机整数 不能使用基本类型作为泛型,必须使用包装类
//调用Collections.sort()方法对其进行排序
public void testSort1(){
List<Integer> integerList=new ArrayList<Integer>();
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 in:integerList){
System.out.println("元素"+in);
}
Collections.sort(integerList);
System.out.println("----------------排序后-----------------");
for(Integer in:integerList){
System.out.println("元素"+in);
}
}
/*
* 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 sl:stringList){
System.out.println("元素"+sl);
}
Collections.sort(stringList);
System.out.println("---------------排序后--------------");
for(String sl:stringList){
System.out.println("元素"+sl);
}
}
/*
* 1.创建完List<String>之后添加10条随机的字符串
* 2.每条字符串的长度为10以内的随机整数
* 3.每条字符串的每个字符都为随机生成的字符,字符可以重复
* 4.每条随机生成的字符串不可以重复
*/
public void testSort3(){
List<String> strList=new ArrayList<String>();
StringBuilder strBuilder;
String baseStr="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
Random random=new Random();
for(int i=0;i<10;i++){
do{
int k=random.nextInt(10);
strBuilder=new StringBuilder();
for(int j=0;j<k;j++){
strBuilder.append(baseStr.charAt(random.nextInt(baseStr.length())));
}
}while(strList.contains(strBuilder.toString()));
System.out.println("将要添加字符串"+strBuilder);
strList.add(strBuilder.toString());
}
System.out.println("----------------排序前----------------");
for(String str:strList){
System.out.println("元素"+str);
}
Collections.sort(strList);
System.out.println("----------------排序后----------------");
for(String str:strList){
System.out.println("元素"+str);
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
CollectionsTest ct=new CollectionsTest();
//ct.testSort1();
//ct.testSort2();
ct.testSort3();
}
}