Java 删除元素Arraylist并在空白处移动
拥有arraylist并希望删除使用.equals传入的元素。删除此对象并在空白区域上移动元素。如果没有元素,我将返回falseJava 删除元素Arraylist并在空白处移动,java,arraylist,Java,Arraylist,拥有arraylist并希望删除使用.equals传入的元素。删除此对象并在空白区域上移动元素。如果没有元素,我将返回false public boolean remove(E obj) { return false; } 如果要返回布尔值,请执行以下操作: public boolean remove(E obj) { ArrayList<Object> myList = new ArrayList(); for(Object object: myLi
public boolean remove(E obj) {
return false;
}
如果要返回布尔值,请执行以下操作:
public boolean remove(E obj) {
ArrayList<Object> myList = new ArrayList();
for(Object object: myList){
if(object.equals(obj){
return true;
}}
return false;
}
public ArrayList<Object> remove(E obj) {
ArrayList<Object> myList = new ArrayList();
ArrayList<Object> answerList = new ArrayList();
for(Object object: myList){
if(object.equals(obj){
continue;
}
answerList.add(object);
}
return answerList;
}
如果要返回没有目标的列表,请执行以下操作:
public boolean remove(E obj) {
ArrayList<Object> myList = new ArrayList();
for(Object object: myList){
if(object.equals(obj){
return true;
}}
return false;
}
public ArrayList<Object> remove(E obj) {
ArrayList<Object> myList = new ArrayList();
ArrayList<Object> answerList = new ArrayList();
for(Object object: myList){
if(object.equals(obj){
continue;
}
answerList.add(object);
}
return answerList;
}
从ArrayList中删除某些内容时,其余元素将向左移动以进行填充。由于您的列表可能无法实现某些方法,因此在调用之前将其放置在ArrayList中非常重要 列表=新的ArrayList10、20、30、40、50; //然后,您可以删除该对象。如果删除或删除,则返回true //如果不是,则为false。注意,如果类型对象是一个 //整数,否则它将假定它是一个索引。 System.out.printlnlist.removeObject 120;//打印错误 System.out.printlnlist;//印刷品[10,20,30,40,50] System.out.printlnlist.removeObject 40;//打印正确 System.out.printlnlist;//印刷品[1020,30,50] 希望这有助于:
public class Application {
public static void main(String[] args) {
ListWrapper<String> wrapper = new ListWrapper<>(new ArrayList<>(Arrays.asList("1", "2", "3")));
wrapper.print();
System.out.println("REMOVE:" + wrapper.remove("2"));
wrapper.print();
}
public static class ListWrapper<T> {
private final ArrayList<T> list;
public ListWrapper(ArrayList<T> list) {
this.list = list;
}
public boolean remove(T obj) {
boolean removed = list.remove(obj);
list.trimToSize();
return removed;
}
public void print() {
System.out.println("LIST: " + list);
}
}
}
好啊你尝试过什么?在它被移除后,你如何让它在空的空间上移动?你具体的意思是什么?如果您想在迭代时改变元素的位置,那么这是不可能的。您可以按所需格式创建一个新列表。编译器不允许您在迭代列表时更改列表,您可以对其中的对象执行操作,但不能删除、移动或向当前正在迭代的列表中添加元素。这是因为它会导致无限循环和其他奇怪的问题,幸运的是,只需创建一个新的列表就可以了。