package com.ttdl.motormmcs.biz; import java.util.ArrayList; public class test { public static void main(String[] args) { ArrayList<String> list = new ArrayList<String>(); list.add("a"); list.add("bb"); list.add("bb"); list.add("ccc"); list.add("ccc"); list.add("ccc"); list.add("bb"); remove3(list); for (String s : list) { System.out.println("element : " + s); } System.out.println("8888888888888888888888888888"); remove4(list); for (String s : list) { System.out.println("element : " + s); } } //后面向前移动一位,最后一个相同的删除不掉 public static void remove(ArrayList<String> list) { // TODO: for (int i = 0; i < list.size(); i++) { String s = list.get(i); if (s.equals("bb")) { list.remove(s); } } } //报错,元素已经移到,找不到 public static void remove2(ArrayList<String> list) { for (String s : list) { if (s.equals("bb")) { list.remove(s); } } } //可以删除所有的“bb” public static void remove3(ArrayList<String> list){ for(int i=list.size()-1;i>=0;i--){ String s=list.get(i); if(s.equals("bb")){ list.remove(s); System.out.println("element : " + i); } } } //倒序删除,一个一个挨着删除,不管他向前移动,用户删除他最后一个就可以全部删除 public static void remove4(ArrayList<String> list){ for(int i=list.size()-1;i>=0;i--){ list.remove(list.get(i)); } } //顺序删除,碰到相同的元素删除不了,位移错过了 public static void remove5(ArrayList<String> list){ for(int i = 0; i < list.size(); i++){ list.remove(list.get(i)); } } }
List面试碰到删除问题,挨个删除
最新推荐文章于 2022-11-28 20:54:28 发布