java - 从 ArrayList 中检索样本

标签 java android arrays arraylist

我有一个包含 100 个字母的 ArrayList,我只需要随机检索其中的 40 个。

这可能吗?
目前,我每次都会收到 100 封信:

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    List<Integer> lettersArray = new ArrayList<>(Arrays.asList(letters));
    Collections.shuffle(lettersArray);
    ImageView imageView = new ImageView(mContext);
    imageView.setImageResource(lettersArray.get(position)); 
    imageView.setScaleType(ImageView.ScaleType.FIT_XY);
    imageView.setAdjustViewBounds(true);
    return imageView;
}

我尝试过,但没有改变:

    public View getView(int position, View convertView, ViewGroup parent) {
      ImageView imageView = new ImageView(mContext);
      List<Integer> lettersArray = new ArrayList<>(Arrays.asList(letters));
      for (int i = 0; i < lettersArray.size(); i++) {
        Collections.shuffle(lettersArray);
        lettersArray.get(40);
        imageView.setImageResource(lettersArray.get(position));
    }
    imageView.setScaleType(ImageView.ScaleType.FIT_XY);
    imageView.setAdjustViewBounds(true);
    return imageView;
}

最佳答案

简单:如果您想要 40 个随机条目 - 洗牌您的数组(一次就足够了),然后从 0 循环到 39 并选择相应的数组槽。

这就是全部内容了。

关于java - 从 ArrayList 中检索样本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45257802/

相关文章:

java - 在 Scala 中将 Int32 表示为 4 个字节

Java (android) 重用对象

c++ - 未调用 Qt Creator 的主要功能

android - 上下文 dispatchStatusEventAsync 抛出 IllegalArgumentException

android - 使用 linux 终端或 python 复制 Android MTP 文件;不支持错误操作

javascript - 使用 Javascript 在数组中展平

c++ - 与 CUDA 并行传输数组

java - Servlet在doPost方法中获取GET和POST的参数

java - Spring ROO : JUnit test fails

java - WebView 滚动在 WindowManager 中不起作用