-
,查看全部
-
package com.practice;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;/**
* 练习:利用Collections.sort()方法对泛型为String的List排序
*1、创建List<String> stringList=new ArrayList<String>();往其中添加十条随机字符串
*2、每条字符串长度为10以内的随机整数
*3、每条字符串的每个字符为随机生成的字符,字符可以重复
*4、每条随机生成的字符串不可以重复
*/
public class CollectionsSort {/*
*创建 返回一个规定长度的字符串的方法
*/
public static String getRandomString(int length){
String str="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
//由Random生成随机数
Random random=new Random();
//创建一个StringBuffer空对象;
StringBuffer sb=new StringBuffer();
//循环length次
for(int i=0;i<length;i++){
int number=random.nextInt(str.length()-1);
//将length次产生的字符通过加入到sb中
sb.append(str.charAt(number));
}
//将承载的StringBuffe字符串转换为String字符串
return sb.toString();
}
/*
*创建 含十条随机字符串的List并实现排序
*/
public static void getRandomStringList(){
List<String> stringList=new ArrayList<String>();
Random random=new Random();
String st;
for(int i=0;i<10;i++) {
do {
st=CollectionsSort.getRandomString(random.nextInt(9)+1);
}while(stringList.contains(st)); //如果stringList包含生成的字符需要重新生成一个
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);
}
}
public static void main(String[] args) {
CollectionsSort.getRandomStringList();
}
}查看全部 -
public String testRandomString() {
StringBuilder stringBuilder = new StringBuilder();
// 存放所包含字符62位
String container = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
Random random = new Random();
int num = 0;
while (num == 0) {
num = random.nextInt(10);
}
for (int i = 0; i < num; i++) {
int index = random.nextInt(62);
stringBuilder.append(container.charAt(index));
}
return stringBuilder.toString();
}
查看全部 -
String string ="0123456789qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM"; Random random =newRandom(); ArrayList <String> list =newArrayList<String>();for(inti =0;i<10;){ StringBuffer sb =newStringBuffer();intlength = random.nextInt(10);do{ sb.append(string.charAt(random.nextInt(62))); }while(sb.length()<length);if(!list.contains(sb)){ list.add(sb.toString()); i++; }else{ i=i; } } System.out.println("-------排序之前------");for(String ss:list){ System.out.println(ss); } System.out.println("---------排序之后---------"); Collections.sort(list);for(String ss :list){ System.out.println(ss); }查看全部 -
改写equals,对比随机字符串
查看全部 -
频繁操作字符串时,就会额外产生很多临时变量。使用 StringBuilder 或 StringBuffer 就可以避免这个问题。至于 StringBuilder 和StringBuffer ,它们基本相似,不同之处,StringBuffer 是线程安全的,而 StringBuilder 则没有实现线程安全功能,所以性能略高。因此一般情况下,如果需要创建一个内容可变的字符串对象,应优先考虑使用 StringBuilder 类。
查看全部 -
03222
查看全部 -
实际应用中的经验与总结
查看全部 -
接口与实现类
查看全部 -
containsAll方法
查看全部 -
用contain方法判断List或者Set中课程是否存在
查看全部 -
包装类提供的两大类方法:
1、将本类型和其他基本类型进行转换的方法
2、将字符串和本类型及包装类互相转换的方法
查看全部 -
,基本类型转换为字符串有三种方法:
1. 使用包装类的 toString() 方法
2. 使用String类的 valueOf() 方法
3. 用一个空字符串加上基本类型,得到的就是基本类型数据对应的字符串
再来看,将字符串转换成基本类型有两种方法:
1. 调用包装类的 parseXxx 静态方法
2. 调用包装类的 valueOf() 方法转换为基本类型的包装类,会自动拆箱
查看全部 -
查看全部
-
查看全部
举报






