如何随机更改字符串数组的值?

时间:2019-02-18 12:12:58

标签: android arrays random

我制作了一个带有一些名称的字符串数组,现在我想更改值的顺序,然后使用for循环。我唯一的问题是我不知道如何更改数组值的顺序。这是我的代码:

这是数组:

people = new ArrayList<>();

people.add("Sam");
people.add("John");
people.add("Kim");
people.add("Edison");

“ text”是我的textview,“ people”是我的具有4个值的数组。我已经试过了:

int rando = (int)(Math.random() *4);
for (i=0; i< people.size(); i++) {
text.append(people.get(rando));
}

,但是它只打印四个值之一。像这样:

KimKimKimKim

3 个答案:

答案 0 :(得分:1)

您可以使用Collections.shuffle(people);从数组列表中获取经过改组的名称。只需一行代码即可满足您的需求

textView.setText(TextUtil.join(",", Collections.shuffle(people));

答案 1 :(得分:0)

您可以尝试此方法

public static String getRandom(String[] people) {
   int rnd = new Random().nextInt(people.length);
   return people[rnd];
}

答案 2 :(得分:0)

尝试一下。这就是我在音乐播放器应用中播放歌曲的方式

for (i=0; i< people.size(); i++) {
shuffleText(people.size())
}
private void shuffleText(int size) {
      int randomNumber = new Random().nextInt((size) + 1) + 1;
      text.append(people.get(randomNumber));
  }