Перемешать массив строк так, чтобы строчка была полностью перемешана, а не в исходном индексе в Java - PullRequest
0 голосов
/ 03 мая 2018

Оригинальный массив

Array[]={"Car","Truck","Boat"};

Перемешанный массив

Array[]={"Truck","Boat","Car"};

Не хочу, чтобы это было Полуперемешивание

как

Array[]={"Truck","Car","Boat"};

где автомобили и грузовик поменялись местами, но не лодка

Я прочитал, это называется Расстройство массива, но я не могу найти тот, который помогает со строками.

Ответы [ 2 ]

0 голосов
/ 03 мая 2018

String [] arr = {"Автомобиль", "Грузовик", "Лодка"};

    Arrays.sort(arr);

    for (int i = 0; i <= arr.length - 1; i++) {
        System.out.println(arr[i]);
    }
0 голосов
/ 03 мая 2018

Вот одно из решений для генерации отклонения массива с O(n) временем и O(1) пробелом сложностью .

String[] strArray = { "Truck", "Car", "Boat" };

String temp = strArray[0];

for (int i = 0; i < strArray.length - 1; i++) {
    strArray[i] = strArray[i + 1];
}

strArray[strArray.length - 1] = temp;

Arrays.stream(strArray).forEach((e) -> System.out.print(e + " "));

Я просто сдвинул каждый элемент влево.

А вот вывод :

Car Boat Truck 
...