如何从List中删除元素
从List中删除元素,不能通过索引的方式遍历后删除,只能使用迭代器。
错误的实现
错误的实现方法
public class Demo { public static void main(String... args) { List<String> data = new ArrayList<String>(); data.add( "abc" ); data.add( "bcd" ); data.add( "cde" ); data.add( "def" ); data.add( "efg" ); data.add( "fgk" ); for ( int i = 0 , len = data.size(); i < len; i ++) { String item = data.get(i); if ( "cde" .equals(item)) { data.remove(i); } } } } |
错误的方法在删除的时候,会抛出一个异常。
正确的实现
正确是实现方法
public class Demo { public static void main(String... args) { List<String> data = new ArrayList<String>(); data.add( "abc" ); data.add( "bcd" ); data.add( "cde" ); data.add( "def" ); data.add( "efg" ); data.add( "fgk" ); Iterator<String> it = data.iterator(); while (it.hasNext()) { String item = it.next(); if ( "cde" .equals(item)) { it.remove(); } } } } |
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步