Java 我想从arraylist中删除值,但我想保留原始列表

Java 我想从arraylist中删除值,但我想保留原始列表,java,arraylist,android-adapter,android-recyclerview,Java,Arraylist,Android Adapter,Android Recyclerview,基本上,我试图实现一个下拉式过滤器,当用户选择一个名称,列表更新。因此,我需要将列表重置回其原始形式,然后应用过滤器 这就是我所拥有的: int size = list.size(); int count = 0; ArrayList<Object> newList = new ArrayList<>(); newList = (ArrayList<Object>)list.clone(); for (int i=0; i<list.size();){

基本上,我试图实现一个下拉式过滤器,当用户选择一个名称,列表更新。因此,我需要将列表重置回其原始形式,然后应用过滤器

这就是我所拥有的:

int size = list.size();
int count = 0;
ArrayList<Object> newList = new ArrayList<>();
newList = (ArrayList<Object>)list.clone();
for (int i=0; i<list.size();){
    if(!list.get(i).getForename().equals(forename)){
        list.remove(i);
    }
    else {
        i++;
    }
}
adapter.notifyDataSetChanged();
int size=list.size();
整数计数=0;
ArrayList newList=新的ArrayList();
newList=(ArrayList)list.clone();

对于(int i=0;有更好的方法来实现这一点(即,如果您进行DB查询,则使用数据库过滤器),但这取决于您如何构建数据。此外,
Object
也没有方法
getForename()
,因此您的示例无法编译。您无法重置列表。制作一份副本,以便您可以在任何时候将列表重置为以前的状态。我正在为我的
recyclerview
使用适配器,这就是为什么我必须使用相同的列表。如何填充列表?通过
volley
。我正在通过
JSON