Java 随机排列列表

Java 随机排列列表,java,android,collections,android-recyclerview,shuffle,Java,Android,Collections,Android Recyclerview,Shuffle,我有两个RecyclerView和一个ArrayList名为collections,我正在尝试对这个ArrayList进行洗牌,得到12项 @Override protected void onPostExecute(List<CollectionsModel> collections) { super.onPostExecute(collections); if (isAdded() && getActivity() != null) {

我有两个
RecyclerView
和一个
ArrayList
名为collections,我正在尝试对这个
ArrayList
进行洗牌,得到12项

@Override
protected void onPostExecute(List<CollectionsModel> collections) {
    super.onPostExecute(collections);
    if (isAdded() && getActivity() != null) {
        setAdapterForRecyclerView(collections);
         setAdapterForRecyclerViewBestCollections(shuffleCollection(collections));
    }
}
@覆盖
受保护的void onPostExecute(列表集合){
super.onPostExecute(集合);
如果(isAdded()&&getActivity()!=null){
setAdapterForRecyclerView(集合);
SetAdapterForRecyclServiceWBestCollections(shuffleCollection(collections));
}
}
洗牌方法:

public List<CollectionsModel> shuffleCollection(List<CollectionsModel> collectionsModelList) {
    java.util.Collections.shuffle(collectionsModelList);
    return collectionsModelList;
}
公共列表shuffleCollection(列表集合ModelList){
java.util.Collections.shuffle(collectionsModelList);
返回集合模型列表;
}
RecyclerView 1的适配器方法:

private void setAdapterForRecyclerViewBestCollections(List<CollectionsModel> collectionHelper) {
    for (int i = 0; i < 12; i++) {
        arrayListCollections.add(collectionHelper.get(i));
    }
    /*rest of code*/
}
private void setAdapterForRecyclerView(final List<CollectionsModel> wlls) {
    if (myAdapter == null) {
        myAdapter = new MyAdapterCollection(wlls, getActivity(), new RecyclerViewClickListener() {
            @Override
            public void onClick(View view, Wallpaper wallpaper) {

            }

            @Override
            public void onClick(View view, CollectionsModel collectionsModel) {

            }
        }, R.layout.collection_item);
        recyclerView.setAdapter(myAdapter);
    } else {
        int position = myAdapter.getItemCount();
        myAdapter.getItems().addAll(wlls);
        myAdapter.notifyItemRangeInserted(position, position);
    }
}
private void setAdapterForRecyclServiceWebTestCollections(列表集合帮助器){
对于(int i=0;i<12;i++){
add(collectionHelper.get(i));
}
/*代码的其余部分*/
}
RecyclerView 2的适配器方法:

private void setAdapterForRecyclerViewBestCollections(List<CollectionsModel> collectionHelper) {
    for (int i = 0; i < 12; i++) {
        arrayListCollections.add(collectionHelper.get(i));
    }
    /*rest of code*/
}
private void setAdapterForRecyclerView(final List<CollectionsModel> wlls) {
    if (myAdapter == null) {
        myAdapter = new MyAdapterCollection(wlls, getActivity(), new RecyclerViewClickListener() {
            @Override
            public void onClick(View view, Wallpaper wallpaper) {

            }

            @Override
            public void onClick(View view, CollectionsModel collectionsModel) {

            }
        }, R.layout.collection_item);
        recyclerView.setAdapter(myAdapter);
    } else {
        int position = myAdapter.getItemCount();
        myAdapter.getItems().addAll(wlls);
        myAdapter.notifyItemRangeInserted(position, position);
    }
}
private void setAdapterForRecyclerView(最终列表wlls){
如果(myAdapter==null){
myAdapter=new MyAdapterCollection(wlls,getActivity(),new RecycleServiceWClickListener()){
@凌驾
公共void onClick(视图、壁纸){
}
@凌驾
公共void onClick(视图、集合模型集合模型){
}
},R.布局。集合(项目);
recyclerView.setAdapter(myAdapter);
}否则{
int position=myAdapter.getItemCount();
myAdapter.getItems().addAll(wlls);
myAdapter.notifyItemRangeInserted(位置,位置);
}
}
我的问题:

public List<CollectionsModel> shuffleCollection(List<CollectionsModel> collectionsModelList) {
    java.util.Collections.shuffle(collectionsModelList);
    return collectionsModelList;
}
当我运行应用程序时,我看到
RecyclerView
1和
RecyclerView
2这两个都是随机的(顺序相同)

我想要什么:

private void setAdapterForRecyclerViewBestCollections(List<CollectionsModel> collectionHelper) {
    for (int i = 0; i < 12; i++) {
        arrayListCollections.add(collectionHelper.get(i));
    }
    /*rest of code*/
}
private void setAdapterForRecyclerView(final List<CollectionsModel> wlls) {
    if (myAdapter == null) {
        myAdapter = new MyAdapterCollection(wlls, getActivity(), new RecyclerViewClickListener() {
            @Override
            public void onClick(View view, Wallpaper wallpaper) {

            }

            @Override
            public void onClick(View view, CollectionsModel collectionsModel) {

            }
        }, R.layout.collection_item);
        recyclerView.setAdapter(myAdapter);
    } else {
        int position = myAdapter.getItemCount();
        myAdapter.getItems().addAll(wlls);
        myAdapter.notifyItemRangeInserted(position, position);
    }
}

我想在
RecyclerView
1和正常顺序
RecyclerView
2

中查看随机项目顺序,首先将列表对象传递给
setAdapterForRecyclerView(集合)

之后,将相同的列表对象传递给
setAdapterForRecyclServiceWBestCollections(shuffleCollection(collections));

然后洗牌对象(在使用相同对象和洗牌的两种方法中,将同时反映到
recyclerivew1
recyclerivew2

public List<CollectionsModel> shuffleCollection(List<CollectionsModel> collectionsModelList) {
    List<CollectionsModel> shuff = new ArrayList<>(collectionsModelList);
    java.util.Collections.shuffle(shuff);
    return shuff;
}
创建新的
List
对象,并在洗牌后返回该对象,以便在
recyclerivew1
recyclerivew2

public List<CollectionsModel> shuffleCollection(List<CollectionsModel> collectionsModelList) {
    List<CollectionsModel> shuff = new ArrayList<>(collectionsModelList);
    java.util.Collections.shuffle(shuff);
    return shuff;
}
公共列表shuffleCollection(列表集合ModelList){
List shuff=新的ArrayList(collectionsModelList);
java.util.Collections.shuffle(shuff);
回剥;
}

首先要将列表对象传递给
setAdapterForRecyclerView(集合);

之后,将相同的列表对象传递给
setAdapterForRecyclServiceWBestCollections(shuffleCollection(collections));

然后洗牌对象(在使用相同对象和洗牌的两种方法中,将同时反映到
recyclerivew1
recyclerivew2

public List<CollectionsModel> shuffleCollection(List<CollectionsModel> collectionsModelList) {
    List<CollectionsModel> shuff = new ArrayList<>(collectionsModelList);
    java.util.Collections.shuffle(shuff);
    return shuff;
}
创建新的
List
对象,并在洗牌后返回该对象,以便在
recyclerivew1
recyclerivew2

public List<CollectionsModel> shuffleCollection(List<CollectionsModel> collectionsModelList) {
    List<CollectionsModel> shuff = new ArrayList<>(collectionsModelList);
    java.util.Collections.shuffle(shuff);
    return shuff;
}
公共列表shuffleCollection(列表集合ModelList){
List shuff=新的ArrayList(collectionsModelList);
java.util.Collections.shuffle(shuff);
回剥;
}