在判断testList中是否存在某字符串时,我的写法是否存在问题。运行的结果没有发现问题和报错,还望前辈和同学们指导。
import java.util.*;
public class SortTest{private List<String> testList; //定义String泛型的List类private Random rd = new Random(); //定义随机类rd
public static void main(String[] args) { SortTest st = new SortTest(); //创建SortTest类,用于调用各方法 st.addList();}public SortTest() //SortTest类的构造方法{ testList = new ArrayList<String>(); //将testList实例化}public void addList(){ int at,num; StringBuilder s = new StringBuilder(); //用于存放字符串 String c = "{{1234567890:0}}ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; /** * 用类似查表法的方式随机生成10个字符串 */ for(int x=0;x<10;x++) { do{ s = new StringBuilder(); //创建新的StringBuilder类对象,存放新的字符串 num = rd.nextInt(10)+1; //随机生成的数[0,10),+1防止字符串的长度为0, //最大取到10 for(int i=0;i<num;i++) { at = rd.nextInt(c.length()-1); s.append(c.charAt(at)); //在字符串c中取得at位上的字符,追加到s后 } s.toString(); //将s转化为String }while(testList.contains(s)); //testList中如果存在与s相同的字符串,则重新生成 testList.add(s.toString()); //将s添加到testList中 } System.out.println("--------排序前--------"); for (String string : testList) //foreach打印 { System.out.println("字符串:"+string); } Collections.sort(testList); System.out.println("--------排序后--------"); for (String string : testList) { System.out.println("字符串:"+string); }}
感谢叩丁狼学院Java培训老师提供文章
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31544963/viewspace-2157356/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/31544963/viewspace-2157356/