android从string数组中随机获得3个随机元素且删除已选择元素
时间: 2024-02-29 19:51:18 浏览: 29
您可以按照以下步骤实现:
1. 在 strings.xml 文件中定义一个 string-array,包含您要选择的元素。
例如:
```xml
<string-array name="options">
<item>选项1</item>
<item>选项2</item>
<item>选项3</item>
<item>选项4</item>
<item>选项5</item>
</string-array>
```
2. 在您的 Activity 或 Fragment 中,使用以下代码获取 string-array 并随机选择其中的三个元素:
```java
// 获取 string-array
String[] options = getResources().getStringArray(R.array.options);
// 创建一个 HashSet 来存储已选择的元素
Set<String> selectedOptions = new HashSet<>();
// 随机选择三个元素
while (selectedOptions.size() < 3) {
int randomIndex = new Random().nextInt(options.length);
String option = options[randomIndex];
selectedOptions.add(option);
}
// 将已选择的元素从 string-array 中删除
List<String> remainingOptions = new ArrayList<>();
for (String option : options) {
if (!selectedOptions.contains(option)) {
remainingOptions.add(option);
}
}
options = remainingOptions.toArray(new String[0]);
// 现在 selectedOptions 中包含三个随机选择的元素,options 中包含剩余的元素
```
这样,您就可以随机选择三个元素,并将它们从 string-array 中删除了。请注意,此代码仅为示例,需要根据您的具体需求进行修改。