本节课程代码+注释
在课后作业中,在生成字符的集合时有参考其它慕课同学的写法,借鉴了一个字符类型集合的字符添加方法,并灵活使用了参数列表,佩服。
贴出我的代码,有机会让别的童鞋看看,换位想一下,有机会一起交流。
package com.imooc.season3.CollectionDemo; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Random; import java.util.Scanner; import java.util.stream.IntStream; /* * 运用Collections.sort(List list)对集合中的元素进行排序 * public class Collections extends Object * This class consists exclusively of static methods that operate on or return collections. * ①对Integer类的list集进行排序 * ----10个随机整数,打印出排序前和排序后 * * ②对String类的list集进行排序 * ----人手输入3个字符串,并打印出排序前和排序后 * * ③作业,存储随机生成的String类的list集并对其进行排序 * ----创建List<String> str集合后,往其添加十条随机字符串 * ----每条字符串的长度控制为10以内的随机整数 * ----每条字符串都是随机生成的字符,字符可重复 * ----但字符串不可重复 */ public class CollectionsDemo { public void IntCollection(){ List<Integer> intList = new ArrayList<Integer>(); Integer tmpInt ; for(int i=0;i<10;i++){ do{ Random randomInt =new Random(); //An instance of this class is used to generate a stream of pseudorandom numbers. tmpInt = randomInt.nextInt(100); //返回0-100以内的整数 System.out.println("将要添加整数"+tmpInt); }while(intList.contains(tmpInt)); intList.add(tmpInt); } System.out.println(" "); System.out.println("========排序前==========="); for(Integer tmpNo :intList){ System.out.println(tmpNo); } System.out.println(" "); System.out.println("========排序后==========="); Collections.sort(intList); //void方法,Sorts the specified list into ascending order, according to the natural ordering of its elements. for(Integer tmpNo :intList){ System.out.println(tmpNo); } } public void StrCollection(){ List<String> strList = new ArrayList<String>(); System.out.println(" "); System.out.println("========请输入3个字符串==========="); // quantity =input.nextInt();} //Scans the next token of the input as an int. for(int i=1;i<=3;i++){ System.out.println("请输入第"+i+"个字符串"); Scanner input = new Scanner(System.in); String inputStr =input.next(); if(strList.contains(inputStr)){ //如果为true System.out.println("字符串"+inputStr+"已存在,请重新输入"); strList.remove(inputStr); i--; } strList.add(inputStr); } System.out.println(" "); System.out.println("========排序前==========="); for(String tmpName :strList){ System.out.println(tmpName); } System.out.println(" "); System.out.println("========排序后==========="); Collections.sort(strList); //void返回值的方法,Sorts the specified list into ascending order, according to the natural ordering of its elements. for(String tmpName :strList){ System.out.println(tmpName); } } //生成字符表,借鉴一位慕课网童鞋的,对字符方面玩得真的很溜!!佩服 public void generateAlphabeta(List<Character> list,char st,char ed){ for(char c= st;c<=ed;c++){ list.add(c); } } public void StrCollectionDemo(){ List<String> stringList = new ArrayList<String>(); List<Character> subList = new ArrayList<Character>(); generateAlphabeta(subList, 'a', 'z');//将a-z加入字符表 generateAlphabeta(subList, 'A', 'Z');//将A-Z加入字符表 generateAlphabeta(subList, '0', '9');//将0-9加入字符表 Random number = new Random(); int length; for(int i=0;i<10;i++){ do{ length =number.nextInt(11);//规定1-10 的长度,返回一个1-10的其中一个数 }while(length ==0); String tmpStr =""; for(int y=0;y<length;y++){ Random index =new Random(); tmpStr =tmpStr+subList.get(index.nextInt(subList.size())); } stringList.add(tmpStr); System.out.println("添加"+stringList.get(i)+"元素成功"); } System.out.println(" "); System.out.println("========排序前==========="); for(String tmpString :stringList){ System.out.println(tmpString); } System.out.println(" "); System.out.println("========排序后==========="); Collections.sort(stringList); //void返回值的方法,Sorts the specified list into ascending order, according to the natural ordering of its elements. for(String tmpString :stringList){ System.out.println(tmpString ); } } public static void main(String[] args) { // TODO Auto-generated method stub CollectionsDemo t01 =new CollectionsDemo( ); t01.IntCollection(); //t01.StrCollection(); t01.StrCollectionDemo(); } } /* * 运用Collections.sort(List list)对集合中的元素进行排序 * public class Collections extends Object * This class consists exclusively of static methods that operate on or return collections. * ①对Integer类的list集进行排序 * ----10个随机整数,打印出排序前和排序后 * * ②对String类的list集进行排序 * ----人手输入3个字符串,并打印出排序前和排序后 * * ③作业,存储随机生成的String类的list集并对其进行排序 * ----创建List<String> str集合后,往其添加十条随机字符串 * ----每条字符串的长度控制为10以内的随机整数 * ----每条字符串都是随机生成的字符,字符可重复 * ----但字符串不可重复 */ public class CollectionsDemo { public void IntCollection(){ List<Integer> intList = new ArrayList<Integer>(); Integer tmpInt ; for(int i=0;i<10;i++){ do{ Random randomInt =new Random(); //An instance of this class is used to generate a stream of pseudorandom numbers. tmpInt = randomInt.nextInt(100); //返回0-100以内的整数 System.out.println("将要添加整数"+tmpInt); }while(intList.contains(tmpInt)); intList.add(tmpInt); } System.out.println(" "); System.out.println("========排序前==========="); for(Integer tmpNo :intList){ System.out.println(tmpNo); } System.out.println(" "); System.out.println("========排序后==========="); Collections.sort(intList); //void方法,Sorts the specified list into ascending order, according to the natural ordering of its elements. for(Integer tmpNo :intList){ System.out.println(tmpNo); } } public void StrCollection(){ List<String> strList = new ArrayList<String>(); System.out.println(" "); System.out.println("========请输入3个字符串==========="); // quantity =input.nextInt();} //Scans the next token of the input as an int. for(int i=1;i<=3;i++){ System.out.println("请输入第"+i+"个字符串"); Scanner input = new Scanner(System.in); String inputStr =input.next(); if(strList.contains(inputStr)){ //如果为true System.out.println("字符串"+inputStr+"已存在,请重新输入"); strList.remove(inputStr); i--; } strList.add(inputStr); } System.out.println(" "); System.out.println("========排序前==========="); for(String tmpName :strList){ System.out.println(tmpName); } System.out.println(" "); System.out.println("========排序后==========="); Collections.sort(strList); //void返回值的方法,Sorts the specified list into ascending order, according to the natural ordering of its elements. for(String tmpName :strList){ System.out.println(tmpName); } } //生成字符表,借鉴一位慕课网童鞋的,对字符方面玩得真的很溜!!佩服 public void generateAlphabeta(List<Character> list,char st,char ed){ for(char c= st;c<=ed;c++){ list.add(c); } } public void StrCollectionDemo(){ List<String> stringList = new ArrayList<String>(); List<Character> subList = new ArrayList<Character>(); generateAlphabeta(subList, 'a', 'z');//将a-z加入字符表 generateAlphabeta(subList, 'A', 'Z');//将A-Z加入字符表 generateAlphabeta(subList, '0', '9');//将0-9加入字符表 Random number = new Random(); int length; for(int i=0;i<10;i++){ do{ length =number.nextInt(11);//规定1-10 的长度,返回一个1-10的其中一个数 }while(length ==0); String tmpStr =""; for(int y=0;y<length;y++){ Random index =new Random(); tmpStr =tmpStr+subList.get(index.nextInt(subList.size())); } stringList.add(tmpStr); System.out.println("添加"+stringList.get(i)+"元素成功"); } System.out.println(" "); System.out.println("========排序前==========="); for(String tmpString :stringList){ System.out.println(tmpString); } System.out.println(" "); System.out.println("========排序后==========="); Collections.sort(stringList); //void返回值的方法,Sorts the specified list into ascending order, according to the natural ordering of its elements. for(String tmpString :stringList){ System.out.println(tmpString ); } } public static void main(String[] args) { // TODO Auto-generated method stub CollectionsDemo t01 =new CollectionsDemo( ); t01.IntCollection(); //t01.StrCollection(); t01.StrCollectionDemo(); } } ////生成字符表 //public void generatorAlphabeta(List<Character> list,char st,char ed){ // for(char c= st;c<=ed;c++){ // list.add(c); // } // } // //public void testSort2(){ // List<String> stringList = new ArrayList<String>(); // List<Character> subList = new ArrayList<Character>(); // // generatorAlphabeta(subList, 'a', 'z');//将a-z加入字符表 // generatorAlphabeta(subList, 'A', 'Z');//将A-Z加入字符表 // generatorAlphabeta(subList, '0', '9');//将0-9加入字符表