Java基础集合经典训练题(2)

public static String getRandomString(){
        //HashSet存储不重复的数
        HashSet<Character> characters = new HashSet<>();
        //长度为8
        while(characters.size()<8){
            //这个只要随机0-9就好了 
            int number = (int) (Math.random()*9);
            //强制类型转换
            char ch = (char)number;
            characters.add(ch);
        }
       
        String string="";
        for (Character character : characters) {
            string+=character;
        }
        return string;
    }

第二种方式用StringBuilder做

public static String getRandomStringBulider(){
        //先定一个StringBulider
        StringBuilder builder = new StringBuilder();
        //也是一样判断长度位8  停止循环
        while(builder.length()<8){
            //产生随机数
            int number = (int) (Math.random()*9);
            //StringBuilder中没有包含的方法  我们可以转成String做-->  builder.toString()
            if(!builder.toString().contains(number+"")){
                builder.append(number);
            }
        }
        return builder.toString();
    }

2.4个不重复的字符串

public static HashSet<String> getRandomStrings(){
        //HashSet存储不重复的字符串
        HashSet<String> hashSet =new HashSet<>();
        while(hashSet.size()<4){
            hashSet.add(getRandomStringBulider());
        }
        return hashSet;
    }

最后 main方法调用,这里我们加一个玩法用map集合玩一个超市货物的编号与品名对应

public static void main(String[] args) {
        String[] str = {"可乐","啤酒","烤鸭","苍老师"};
        Map<String, String> map =new LinkedHashMap<String, String>();
        //怎么把刚在获取的编号  和  商品对应呢 
        //遍历  hashSet 没有索引  我们用List集合
        HashSet<String> hashSet =getRandomStrings();
        ArrayList<String> arrayList = new ArrayList<>();
        arrayList.addAll(hashSet);
        //遍历添加
        for (int i = 0; i < str.length; i++) {
            map.put(arrayList.get(i), str[i]);
        }
       
        //遍历Map集合
        for (String string : map.keySet()) {
            System.out.println(string+" : "+map.get(string));
        }
       
    }

今天就到这里了.....写的不好,请大家给我点建议

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/ff75600da2b699988892ce6bc335a084.html