集合00_Java集合框架
2021-06-16 09:06
标签:res 双向遍历 rest 内部类 条件 strong code inf iter 区别如下: Collection接口定义的操作集合的方法有: Java8为Iterator接口新增的forEach默认方法 每个集合都以内部类的方式实现了Iterator接口,Iterator替代了Enumeration,其更加安全,因为其遍历集合时会阻止其他线程修改集合 void forEachRemaining(Consumer action) 集合00_Java集合框架 标签:res 双向遍历 rest 内部类 条件 strong code inf iter 原文地址:https://www.cnblogs.com/pycrab/p/8926772.html集合类概述
1.继承树
2.集合和数组
3.List和map
4.Collection基础功能
集合遍历
1.forEach方法
import java.util.Collection;
import java.util.HashSet;
public class CollectionTest {
public void each() {
Collection
2.使用迭代器Iterator
ListIterator继承了Iterator接口,它用于遍历List集合的元素,由于是双向遍历,不仅可以删除元素,还可以添加和修改元素
Java8增强的Iterator提供的方法如下:
//2使用iterator的方法
Iterator
集合过滤
books.removeIf(str -> ((String)str).length()
public void stream() {
//1.使用流的builder类方法创建对应的Builder
//2.重复调用add()方法向流中添加元素
//3.调用builder的build()方法获取对应的Stream
IntStream is = IntStream.builder()
.add(1)
.add(2)
.add(3)
.add(5)
.build();
//4.调用Stream的聚集方法(很多),每次只能调用一个,调用完流即不可用
//如System.out.println(is.sum());
//将is映射成新的newIs流
IntStream newIs = is.map(ele -> ele * 2 + 1);
//使用方法引用的方式遍历集合元素
newIs.forEach(System.out::println);
}
public void preStream() {
Collection
fail-fast机制
fail-fast机制是java容器(Collection和Map都存在fail-fast机制)中的一种错误机制。在遍历一个容器对象时,当容器结构被修改(remove方法除外),很有可能会抛出ConcurrentModificationException,产生fail-fast。
每次初始化一个迭代器都会执行int expectedModCount = modCount;
,modCount表示修改次数,迭代器会通过checkForComodification()方法判断modCount和expectedModCount 是否相等,如果不相等就表示已经有线程修改了集合结构。
使用java.util.concurrent包下的类去取代java.util包下的类。Java1.5并发包含有线程安全集合类,允许在迭代时修改集合,比如ConcurrentHashMap。
上一篇:Java思维题