我有一个包含 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/