gpt4 book ai didi

java - 打乱数组列表中的元素组

转载 作者:行者123 更新时间:2023-12-02 08:39:36 29 4
gpt4 key购买 nike

我正在开发一个组生成器,目前我正在从这个 txt 文件创建一个 ArrayList。 enter image description here

这样,ArrayList的形式就是[PedroA, Brazil, Male, 10G, Saadia...]

我想一次打乱 4 个元素,以随机化这个数组列表。

我将信息存储在

ArrayList<String> studentInfo = info.readEachWord(className);

最佳答案

这很难做到。当然这是可能的,但是很困难。

事情变得很困难,因为你想做的事情很奇怪。

执行此操作的正常方法是:

  1. 创建一个代表单个条目的类,我们称之为 class Person .
  2. 通过将每一行解析为单个 Person 来读取此数据实例,并将它们全部添加到列表中。
  3. 只需调用 Collections.shuffle(list);洗牌。

如果我们有上述内容,我们就可以做您想要的,然后转换您的 List<Person>回到List<String> 。在许多方面,这是完成您要求的任务的最简单方法,但是您开始想知道为什么您首先需要字符串列表形式的数据。

enum Gender {
MALE, FEMALE, OTHER;

public static Gender parse(String in) {
switch (in.toLowerCase()) {
case "male": return MALE;
case "female": return FEMALE;
default: return OTHER;
}
}

class Person {
String name;
String location;
Gender gender;
[some type that properly represents whatever 10G and 10W means];

public static Person readLine(String line) {
String[] parts = line.split("\\s+", 4);
Person p = new Person();
p.name = parts[0];
p.location = parts[1];
p.gender = Gender.parse(parts[2]);
...;
return p;
}
}

你明白了。

关于java - 打乱数组列表中的元素组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61457483/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com