2016-03-05 4 views
0

Как я могу Перемешать ниже массиваКак перетасовать строк Массивы

String[] firstName =["a","b","c","d","e"]; 
String[] lastName =["p","q","r","s","t"]; 
String[] salary =["10","20","30","40",50"]; 
String[] phoneNo= ["1","2","3","4","5"]; 

после перетасовки массива мне нужно привести как

String[] firstName =["d","b","e","c","a"]; 
String[] lastName =["s","q","t","r","p"]; 
String[] salary =["40","20","50","30",10"]; 
String[] phoneNo= ["4","2","5","3","1"]; 

означает, например, если индекс "a" от firstName изменений от 0 до 4 , соответствующий индекс "p", "10", "1" будет изменен с 0 до 4.

+1

@Sabik JavaScript не является Java. – MikeCAT

+0

Вы начали с чего-то или вы надеетесь, что кто-то сбросит вам код? –

+0

Одним из лучших способов добиться этого было бы создание пользовательского объекта с этими четырьмя строковыми полями. Тогда вы можете иметь конструктор, такой как «MyObject (String fN, String lN, String sal, String pN)» и использовать его для установки начальных значений. Затем создайте массив «MyObject» –

ответ

0

просто создайте массив (или список), который имеет значение

Integer[] arr = new Integer[firstName.length]; 
for (int i = 0; i < arr.length; i++) { 
    arr[i] = i; 
} 

Collections.shuffle(Arrays.asList(arr)); 

, а затем просто создать новый массив строк для перемещения значения в

string[] newFirstName = new string[arr.length](); 
for(int i=0; i < arr.length; i++) 
{ 
    newFirstName[i] = firstName[arr[i]]; 
    //etc .... 
} 
+0

Что делать, если мой массив имеет длину X. ?? – rva

+0

хорошо все примеры, которые вы использовали выше, использовали один и тот же порядок сортировки. поэтому я предположил, что у вас установленный порядок и длина. нужно ли случайное перемешать? –

+0

thats то, что мне нужно для массивов Unknown some X length – rva

2

Если задача не реализация алгоритма сопеть вы можете использование стандарта java.util.Collections#shuffle метод:

String[] firstName = new String[] {"a","b","c","d","e"}; 
List<String> strList = Arrays.asList(firstName); 
Collections.shuffle(strList); 
firstName = strList.toArray(new String[strList.size()]); 
+0

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