package com.kk.collection;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;
/**
* 将要完成
* 1.通过Collections.sort()方法,对Integer泛型的List进行排序
* 2.对String泛型List进行排序
* 3.对其他类型泛型的List排序,以Student为例
*/
public class CollectionTest {
/**
* 通过Collections.sort()方法,对Integer泛型的List进行排序
* 创建一个integer泛型的List,对插入的十个不重复随机整数
* 调用Collection.sort()对其进行排序
*/
public void TestSort1() {
List<Integer> integerList = new ArrayList<Integer>();
//插入10个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);
}
}
/**
* 对String泛型List进行排序
* 创建一个String泛型的List,对其插入10个不重复的字符串
* 调用Collections.sort()方法进行排序
*/
public void TestSort2() {
List<String> StringList = new ArrayList<String>();
String st;
for(int i = 0;i<10;i++) {
do{
st = RandomString();
}while(StringList.contains(st));
StringList.add(st);
System.out.println("成功添加字符串:"+st);
}
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);
}
}
/**
* 随机生成长度小于10的字符串的方法
*/
private String RandomString() {
int k,m;
String st="";
Random random = new Random();
do{
k = random.nextInt(10);
}while(k==0);
while(true){
do{
m = random.nextInt(126);
}while(m>126||m<32);
char c =(char)m;
st+=c;
k--;
if(k==0)
break;
}
return st;
}
/**
*
* @param args
*/
public static void main(String[] args){
CollectionTest ct = new CollectionTest();
//ct.TestSort1();
ct.TestSort2();
}
}