immutablelist java_理解不可变集合 | Guava Immutable与JDK unmodifiableList
时间: 2024-04-03 21:33:49 浏览: 71
浅谈java中unmodifiableList方法的应用场景
ImmutableList 和 JDK 中的 unmodifiableList 都是用来创建不可变集合的类,但它们有一些区别。
JDK 中的 unmodifiableList 方法接受一个 List 对象作为参数,返回一个只读的视图,该视图可以查看原始列表中的元素,但不能修改它。但是,如果原始列表被修改,那么该视图也会受到影响。因此,JDK 中的 unmodifiableList 并不是真正的不可变集合。
Google Guava 中的 ImmutableList 是真正的不可变集合,它创建一个新的不可变列表,该列表不会受到原始列表的影响,也不会对原始列表产生任何影响。ImmutableList 提供了一些方法来访问列表中的元素,但不能添加、删除或修改元素。
由于 ImmutableList 是不可变的,因此它是线程安全的,并且可以被多个线程同时访问。使用 ImmutableList 可以使代码更加简洁、可读性更高,并且避免了一些常见的线程安全问题。
阅读全文