• ,

Генерация строки фиксированной длины

Всем добрый день!
Понадобилось мне написать функцию, генерирующую строку фиксированной длины. Собственно на первый взгляд это просто, так оно и есть, но вот возникло желание сделать эту функцию максимально быстрой. И тут возник впрос — а как?
Собственно соорудил такой код. Самый быстрый пока метод generateString, но я верю, что его можно ускорить еще.

public class StringGenerator{
    private int strLength;
    private StringGenerator() {
    }
    public static StringGenerator getStringFixedLengthGenerator(int length){
        StringGenerator stringGenerator = new StringGenerator();
        stringGenerator.setStrLength(length);
        return  stringGenerator;
    }

    public void setStrLength(int strLength) {
        this.strLength = strLength;
    }

    public String generateNextFixedString(){
        return new String();
    }
    public String generateThreadString()
    {
        ExecutorService executor = Executors.newSingleThreadExecutor();
        Callable task = () -> {

                return generateString(strLength/2);

        };
        Future<String> future = executor.submit(task);
        Future<String> future1 = executor.submit(task);

        String str = "";

        try{
            str = future1.get().concat(future.get());
        }catch (Exception e){

        }

        executor.shutdown();
        return str;
    }
    public String generateString(){
        return generateString(strLength);
    }
    public String generateString(int stringLength)
    {
        String characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
        Random rng = new Random();
        char[] text = new char[stringLength];
        for (int i = 0; i < stringLength; i++)
        {
            text[i] = characters.charAt(rng.nextInt(characters.length()));
        }
        return new String(text);
    }

    public String createRandomString() {
        String mCHAR = "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
        int STR_LENGTH = strLength; // длина генерируемой строки
        Random random = new Random();
        StringBuilder builder = new StringBuilder();
        for (int i = 0; i < STR_LENGTH; i++) {
            int number = random.nextInt(mCHAR.length());
            char ch = mCHAR.charAt(number);
            builder.append(ch);
        }
        return builder.toString();
    }

}
  • ,

Генерация случайного числа в заданном диапазоне

Привет по ту сторону экрана.

Любой из нас рано или поздно встречается с необходимостью генерировать случайное число в заданном нами диапазоне будь то вещественное или целое число.