其他
【022期】ArrayList 使用 forEach 遍历时删除元素会报错吗?
>>号外:关注“Java精选”公众号,回复“2021面试题”,领取免费资料!“Java精选面试题”小程序,3000+ 道面试题在线刷,最新、最全 Java 面试题!
List<String> lists = new ArrayList<String>();
lists.add("1");
lists.add("2");
lists.add("3");
lists.add("4");
for(String s :lists){
if(s.equals("3")){
lists.remove(s);
}
}
//这是一颗语法糖,编译后相当于:
for(Iterator i = lists.iterator();i.hasNext();){
String s = (String)i.next();
if(s.equals("3")){
list.remove(s);
}
}
public E next() {
checkForComodification();
int i = cursor;
if (i >= size)
throw new NoSuchElementException();
Object[] elementData = ArrayList.this.elementData;
if (i >= elementData.length)
throw new ConcurrentModificationException();
cursor = i + 1;
return (E) elementData[lastRet = i];
}
final void checkForComodification() {
if (modCount != expectedModCount)
throw new ConcurrentModificationException();
}
String s= null;
for(Iterator i = lists.iterator(); i.hasNext(); ){
s=(String)i.next();
if(s.equals("3")){
i.remove();
}
}
作者:GoGoGoHan!
blog.csdn.net/awocbb/article/details/85069427
【012期】面试官问:Java反射机制是什么?我没有回答上来!
【013期】你还在 new 对象吗?Java8 通用 Builder 了解一下?
【014期】你真的了解 ConcurrentHashMap 数据结构吗?
【015期】MySQL 数据库与 Redis 缓存如何实现最终一致性的四种方案?!
【016期】面试官问:a==1 && a==2 && a==3 是 true 还是 false?
【017期】面试官问:Java 中 for、foreach、stream 哪个处理效率更高?
【018期】JDK1.8 中 HashMap 底层实现原理源码分析,你 get 到了吗?
【019期】告诉面试官,我能优化 Group By,而且知道得很深!