How to shuffle characters in a string without using Collections.shuffle(…)?

后端 未结 14 2273
南旧
南旧 2020-11-27 07:19

How do I shuffle the characters in a string (e.g. hello could be ehlol or lleoh or ...). I don\'t want to use the Collections.shuffle(...) method, is there anyt

14条回答
  •  时光说笑
    2020-11-27 08:17

    Without external libraries, for those who do not mind using Collections.shuffle():

    static String shuffle(String string){
    
        List list = string.chars().mapToObj(c -> new Character((char) c))
                                             .collect(Collectors.toList());
        Collections.shuffle(list);
        StringBuilder sb = new StringBuilder();
        list.forEach(c -> sb.append(c));
    
        return sb.toString();
    }
    

提交回复
热议问题