java随机生成字符串并排序

 1 package com.Imooc;
 2
 3 import java.util.ArrayList;
 4 import java.util.Collections;
 5 import java.util.List;
 6 import java.util.Random;
 7
 8 /**
 9  * 利用Collections.sort()方法对泛型为String的List进行排序
10  * 1. 创建List<String>之后往其中添加十条随机字符串
11  * 2. 每条字符串为10以内的随机数
12  * 3. 每条字符串的每个字符的每个字符都为随机生成的字符串。字符可以重复
13  * 4. 每条随机字符串不可以重复
14  * @author WYL
15  *
16  */
17 public class StringSortVersion2 {
18
19     //首先创建一个String的泛型
20     List<String> stringList = new ArrayList<String>();
21
22     public void stringSort(){
23         Random random = new Random();
24         String str;
25         for(int i=0;i<10;i++){
26             int stringLength = random.nextInt(10);
27             do{
28                 //调用自定义函数随机生成字符串
29                 str = randomString(stringLength);
30             }while(stringList.contains(str));
31             System.out.println("将要添加的字符串: ‘"+str+"‘");
32             stringList.add(str);
33         }
34         System.out.println("*************排序前的字符串**************");
35
36         for(String string:stringList){
37             System.out.println("元素:"+string);
38         }
39
40         Collections.sort(stringList);
41         System.out.println("***************排序后的字符串**************");
42         for(String string: stringList){
43             System.out.println("元素:"+string);
44         }
45     }
46
47     /**
48      * 生成随机字符串函数
49      * @param args
50      */
51     public String randomString(int length){
52         String string = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
53         Random random = new Random();
54         StringBuffer str = new StringBuffer();
55         for(int i = 0; i < length;i++ ){
56             //随机获取字符串(string)长度的的一个值,为生成字符串做准备
57             int index = random.nextInt(62);
58             str.append(string.charAt(index));
59         }
60         //返回字符串
61         return str.toString();
62     }
63     public static void main(String[] args) {
64         // TODO Auto-generated method stub
65
66         StringSortVersion2 ss = new StringSortVersion2();
67         ss.stringSort();
68     }
69
70 }
时间: 2024-10-11 15:39:37

java随机生成字符串并排序的相关文章

java 随机生成一个中文、判断某个string是否是中文以及打印出全部的中文

现在网上大多数用于判断中文字符的是 U+4E00..U+9FA5 这个范围是只是"中日韩统一表意文字"这个区间,但这不是全部,如果要全部包含,则还要他们的扩展集.部首.象形字.注间字母等等; 2E80-A4CF: 包含了中日朝部首补充.康熙部首.表意文字描述符.中日朝符号和标点.日文平假名.日文片假名.注音字母.谚文兼容字母.象形字注释标志.注音字母扩展.中日朝笔画.日文片假名语音扩展.带圈中日朝字母和月份.中日朝兼容.中日朝统一表意文字扩展A.易经六十四卦符号.中日韩统一表意文字.彝

Java随机生成中文汉字(使用高位低位转码)

1 Java随机生成中文汉字 2 /** 3 * 原理是从汉字区位码找到汉字.在汉字区位码中分高位与底位, 且其中简体又有繁体.位数越前生成的汉字繁体的机率越大. 4 * 所以在本例中高位从171取,底位从161取, 去掉大部分的繁体和生僻字.但仍然会有!! 5 * 6 */ 7 @Test 8 public void create() throws Exception { 9 String str = null; 10 int hightPos, lowPos; // 定义高低位 11 Ran

java随机生成字符串工具类

package aA; import java.util.ArrayList; import java.util.Arrays; import java.util.Random; /** * 字符随机生成类 */ public class RandomDemo { /** * 随机产生类型枚举 */ public static enum TYPE { /**小字符型*/ LETTER, /**大写字符型*/ CAPITAL, /**数字型*/ NUMBER, /**大+小字符 型*/ LETTE

Java 随机生成中文姓名,手机号,邮编,住址

package lovo; import java.util.HashMap; import java.util.Map; /** * 随机生成中文姓名,性别,Email,手机号,住址 * @author Quentin */ public class SuperRandom { public static String base = "abcdefghijklmnopqrstuvwxyz0123456789"; private static String firstName=&quo

Java随机生成订单表号,当前时间+随机五位数

package cn.gov.csrc.util; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Random; public class RandomUtil { /**   * 生成随机文件名:当前年月日时分秒+五位随机数   *   * @return   */  public static String getRandomFileName() { SimpleDateFormat si

Java随机生成常用汉字验证码

原文:http://www.open-open.com/code/view/1422514803970 import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.image.BufferedImage; import java.io.IOException; import java.util.Random; import ja

java随机生成6位随机数 5位随机数 4位随机数

随机数,应用会相当广,验证数,订单号,流水号拼接. 下面是java随机数生成语句: 生成6位随机数(不会是5位或者7位,仅只有6位): System.out.println((int)((Math.random()*9+1)*100000)); 同理,生成5位随机数: System.out.println((int)((Math.random()*9+1)*10000)); 同理,生成4位随机数: System.out.println((int)((Math.random()*9+1)*1000

4.java随机生成指定长度的字符串

//生成随机数字和字母, public static String getStringRandom(int length) { String val = ""; Random random = new Random(); //参数length,表示生成几位随机数 for(int i = 0; i < length; i++) { String charOrNum = random.nextInt(2) % 2 == 0 ? "char" : "num

java 随机生成四位数验证码

public static void main(String[] args) { // TODO 自动生成的方法存根 Random r=new Random(); String str="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";//列出所有的字母数字 for(int i=0;i<4;i++)//循环4次,输出四个数 { int a=r.nextInt(62);//从0-61中随机一个数,作为字