Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何删除某个值之后ArrayList中的所有值_Java_Arrays_List_Arraylist_Indexing - Fatal编程技术网

Java 如何删除某个值之后ArrayList中的所有值

Java 如何删除某个值之后ArrayList中的所有值,java,arrays,list,arraylist,indexing,Java,Arrays,List,Arraylist,Indexing,我正在创建一个方法,该方法删除ArrayList中位于数字10之后的所有索引。这就是我到目前为止所做的: 公共类ArrayPost{ 公共阵列列表 public ArrayPost(){ ArrayList<Integer> List1 = new ArrayList<Integer>(); myList = List1; myList.add(1); myList.add(2); myList.add(10); myLis

我正在创建一个方法,该方法删除ArrayList中位于数字10之后的所有索引。这就是我到目前为止所做的: 公共类ArrayPost{ 公共阵列列表

public ArrayPost(){
    ArrayList<Integer> List1 = new ArrayList<Integer>();
    myList = List1;
    myList.add(1);
    myList.add(2);
    myList.add(10);
    myList.add(1);
    myList.add(2);
    myList.add(3);
    
}
    
public ArrayList post10(ArrayList list){
    myList = list;
    int i; 
    int x = 10;
     if (x == list.lastIndexOf(x)){
         i = x;
         
        do{
            list.remove(i);  
        }while (i >= 0);
    }        
    
    //System.out.println(myList.toString());
        
return list;  
}
public ArrayPost(){
ArrayList List1=新的ArrayList();
myList=List1;
添加(1);
添加(2);
添加(10);
添加(1);
添加(2);
添加(3);
}
公共ArrayList post10(ArrayList列表){
myList=列表;
int i;
int x=10;
if(x==list.lastIndexOf(x)){
i=x;
做{
列表。删除(i);
}而(i>=0);
}        
//System.out.println(myList.toString());
退货清单;
}
}

所有这些都会打印出我的ArrayList。它不会删除10之后的所有数字。如果有人能帮忙,那就太好了

谢谢

这应该行得通

 public ArrayList post10(ArrayList list){
        myList = new ArrayList<>(list.size());
        for (item : list) clone.add(item.clone());
        myList = list;
        int x = 10;
        for(int i = list.length() - 1; i >= 0; i--){
            if(myList.get(i) == x)
                break;
            myList.remove(i);
            if(i == 0)
                myList = list;

        }
    return myList;  
    }
public ArrayList post10(ArrayList列表){
myList=newArrayList(list.size());
对于(item:list)clone.add(item.clone());
myList=列表;
int x=10;
对于(int i=list.length()-1;i>=0;i--){
if(myList.get(i)=x)
打破
myList.remove(i);
如果(i==0)
myList=列表;
}
返回myList;
}

如果列表不包含10,则删除所有元素。变量
myList
list
引用相同的列表对象,因此结果不变。