如何从字符串 ArrayList 在字符串数组中的随机位置添加元素。在 Android Java 中
Posted
技术标签:
【中文标题】如何从字符串 ArrayList 在字符串数组中的随机位置添加元素。在 Android Java 中【英文标题】:How to Add elements at random positions in String array from a String ArrayList. In Android Java 【发布时间】:2021-09-07 18:01:44 【问题描述】:我是android java的新手。这让我很烦。 在这里,我的 ArrayList 将只有 3 个字符串(黑色、灰色、白色)。但请像有 100 或 1000 个项目一样回答。那么执行此操作的代码是什么。
ArrayList<String> alCelebrityAllNAMES = new ArrayList<String>();
String myArray = "1", "2", "3";
public void regexImagesNames()
Pattern patternNames = Pattern.compile("/images/banners/(.*?)_234x60.gif");
Matcher matcherNames = patternNames.matcher(fullhtmlCode);
while(matcherNames.find())
alCelebrityAllNAMES . add( matcherNames.group(1) ); //yields 3 words(strings)
【问题讨论】:
你到底想做什么?从ArrayList
中获取元素并将它们添加到array
中的随机位置或相反?
【参考方案1】:
我会这样做:
解决方案 1,任重道远……
String[] myArray = new String[]"1", "2", "3";
ArrayList<String> alCelebrityAllNAMES = new ArrayList<>(myArray.length);
ArrayList<Integer> alreadyOccupiedIndexes = new ArrayList<>();
for (int i = 0; i < myArray.length; i++)
String s = myArray[i];
int randomIndex = new Random().nextInt(myArray.length); // Getting a random index
if(!alreadyOccupiedIndexes.contains(randomIndex))
alCelebrityAllNAMES.add(randomIndex, s);
alreadyOccupiedIndexes.add(randomIndex);
i++;
解决方案 2:
alCelebrityAllNAMES.addAll(Arrays.asList(myArray)); // Fill the arrayList with the elements of the array
Collections.shuffle(alCelebrityAllNAMES); // shuffle the elements in it..
// and if you need an array again:
alCelebrityAllNAMES.toArray();
【讨论】:
以上是关于如何从字符串 ArrayList 在字符串数组中的随机位置添加元素。在 Android Java 中的主要内容,如果未能解决你的问题,请参考以下文章
如何使用适配器为recyclerview从字符串数组列表中的元素获取字符串
如何在c#中将ArrayList转换为字符串数组(字符串[])