Groovy方法从列表中获取随机元素
发布时间:2020-12-14 16:26:03 所属栏目:大数据 来源:网络整理
导读:Groovy是非常强大的管理集合.我有一个像这样的列表: def nameList = ["Jon","Mike","Alexia"] 我要做的是迭代10次以从第一个列表中获得具有随机名称的10个人. 10.times{ Person person = new Person( name: nameList.get() //I WANT TO GET A RANDOM NAME F
Groovy是非常强大的管理集合.我有一个像这样的列表:
def nameList = ["Jon","Mike","Alexia"] 我要做的是迭代10次以从第一个列表中获得具有随机名称的10个人. 10.times{ Person person = new Person( name: nameList.get() //I WANT TO GET A RANDOM NAME FROM THE LIST ) } 这不是出于两个显而易见的原因,我没有在我的nameList.get中添加任何索引,而且我没有创建10个不同的Person对象. >如何使用groovy从名单中获取随机元素? 解决方法
只需使用Java方法Collections.shuffle()就好
class Person { def name } def nameList = ["Jon","Alexia"] 10.times { Collections.shuffle nameList Person person = new Person( name: nameList.first() ) println person.name } 或使用随机索引 class Person { def name } def nameList = ["Jon","Alexia"] def nameListSize = nameList.size() def r = new Random() 10.times { Person person = new Person( name: nameList.get(r.nextInt(nameListSize)) ) println person.name } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |