Java进阶篇1-3:集合框架(单列集合)

发布时间:2026/7/9 2:33:37

Java进阶篇1-3:集合框架(单列集合) 1 认识集合及 Collection1.1 集合体系集合是一种容器用来装数据的类似于数组但集合的大小可变开发中也非常常用。集合体系如下1.2 认识 Collection1.2.1 常用功能Collection 是单列集合的祖宗它规定的方法功能是全部单列集合都会继承的。一句话记忆“增删 查含 判空 长清空 转数组”1.2.2 3种遍历方式第一种遍历方式迭代器遍历迭代器是用来遍历集合的专用方式数组没有迭代器在 Java 中迭代器的代表是 Iterator。第二种遍历方式增强for循环第三种遍历方式Lambda 表达式得益于 JDK 8 开始的新技术 Lambda 表达式提供了一种更简单、更直接的方式来遍历集合。1.2.3 三种遍历方式的区别遍历集合的同时又存在增删集合元素的行为时可能出现业务异常这种现象被称之为并发修改异常问题。错误示例增强 for 循环ArrayListStringlistnewArrayList();list.add(Java入门);list.add(宁夏枸杞);list.add(黑枸杞);list.add(人字拖);for(Strings:list){if(s.contains(枸杞)){list.remove(s);// 抛出 ConcurrentModificationException}}如果集合支持索引可以使用for循环遍历每删除数据后做i–或者可以倒着遍历普通for循环索引回退i--for(inti0;ilist.size();i){Stringnamelist.get(i);if(name.contains(枸杞)){list.remove(name);i--;// 删除后索引回退防止漏删}}倒序遍历for(intilist.size()-1;i0;i--){Stringnamelist.get(i);if(name.contains(枸杞)){list.remove(name);}}可以使用迭代器遍历并用迭代器提供的删除方法删除数据。、IteratorStringitlist.iterator();while(it.hasNext()){Stringnameit.next();if(name.contains(枸杞)){it.remove();// 使用迭代器自己的删除方法安全}}removeIf()Java 8最推荐list.removeIf(name - name.contains(“枸杞”));注意增强 for 循环/Lambda 遍历均不能解决并发修改异常问题因此它们只适合做数据的遍历不适合同时做增删操作。2 List 集合3 Set 集合

相关新闻