Java 10个不重复的随机单词

Java 10个不重复的随机单词,java,Java,我在android的sql数据库中有20个单词 如果活动正在开始,我想随机选择10个单词,不重复,并将其放在10文本视图中 我找到了这个代码,但它只适用于数字 ArrayList<Integer> number = new ArrayList <Integer>(); for (int i = 1; i <= 10; ++i) number.add(i); Collections.shuffle(number); ArrayList编号=新建 ArrayLis

我在android的sql数据库中有20个单词 如果活动正在开始,我想随机选择10个单词,不重复,并将其放在10文本视图中 我找到了这个代码,但它只适用于数字

ArrayList<Integer> number = new 
ArrayList <Integer>();
for (int i = 1; i <= 10; ++i) 
number.add(i);
Collections.shuffle(number);
ArrayList编号=新建
ArrayList();

对于(int i=1;i如果它们位于SQL数据库中,则可以使用以下查询:

select word
from t
order by rand()
limit 10;

对于20个单词,这应该具有相当合理的性能。但是如果单词数量增加,性能可能会成为一个问题。

如果它们位于SQL数据库中,您可以使用以下查询:

select word
from t
order by rand()
limit 10;
对于20个单词,这应该有相当合理的性能。但是如果单词数量增加,性能可能会成为一个问题。

试试这个

SELECT TOP 20  WordField
  FROM TableName
  ORDER By rand()
试试这个

SELECT TOP 20  WordField
  FROM TableName
  ORDER By rand()

如果您有XQuery 3.1,您可以

random-number-generator()?permute($words)[position()=1 to 10]

如果您有XQuery 3.1,您可以

random-number-generator()?permute($words)[position()=1 to 10]

因此,不要添加数字
n
,而是添加
n
单词。只要与上一个单词相同,不要忘记添加一个不添加单词的条件。@Antoh你能添加一个简单的示例吗?因为我是android studioint[]array=new Random().ints(limit,low,high)。toArray()的新手;因此,不要添加数字
n
,而是添加
n
单词。只要与前面的单词相同,不要忘记添加一个不添加单词的条件。@Antoh你能添加一个简单的示例吗?因为我是android studioint[]array=new Random().int(limit,low,high)。toArray()的新手;谢谢,如果单词位置在字符串中,你能举个例子吗谢谢,如果单词位置在字符串中,你能举个例子吗