从数组中拉出随机字符串,只需一次

时间:2015-07-02 11:57:42

标签: android arrays string random

我有一个程序使用Random生成一个随机数来从数组中选择一个字符串。我想要做的是避免两次选择相同的字符串!我还想存储拉出的随机字符串的整个列表,并能够在需要时清除它们。

我的随机字符串显示在textView中。

3 个答案:

答案 0 :(得分:0)

//use set to avoid Duplicatess....

Set<String> objSet = new HashSet<String>();
boolean one= objSet .add("hello");
System.out.println(one);             // Prints "true"
boolean two= objSet .add("hello");
System.out.println(two);           // Prints "false"

// if you want to remove Specific String after add then you have to use HashMap

答案 1 :(得分:0)

一个简单的解决方案是将数组转换为List,并创建另一个列表来存储拉出的字符串。因此,当您拉出随机字符串时,将其从原始列表中删除并将其添加到拉出的字符串列表中。

这样的东西
List<String> strings = Arrays.asList(stringsArray);
List<String> usedStrings = new ArrayList<>();

String s = strings.remove(index);
doSomethingWithString(s);
usedStrings.add(s);

这样您就不会使用相同的字符串两次,并且可以跟踪使用的字符串

答案 2 :(得分:0)

将随机字符串放在ArrayList中。然后检查是否已经包含任何字符串。使用!contains(randomstr)方法,否则找其他随机