-
Java Core Libraries
-
Java Collections Framework
-
Creating Unmodifiable Lists, Sets, and Maps
相对于普通的容器类,不可变容器的对象,占用的内存少,内存利用更高效。
在仅有只读操作时,使用不可变容器的对象,会有性能和空间方面的优势。不可变
List
的构建样例代码,如下:List<String> stringList = List.of("a", "b", "c");
不可变
Set
的构建样例代码,如下:Set<String> stringSet = Set.of("a", "b", "c");
不可变
Map
的构建样例代码,如下:Map<String, Integer> stringMap = Map.of("a", 1, "b", 2, "c", 3);
需要注意,不可变容器的对象禁止对容器自身的新增、删除、替换等变更操作,但不禁止对容器内的对象的变更操作。
-
Creating Sequenced Collections, Sets, and Maps
参考资料
- Package java.util
- The Collections Framework
- Collections Framework Tutorial
- Unmodifiable Lists
- Unmodifiable Sets
- Unmodifiable Maps
- Unmodifiable View Collections
- JEP 431
- java.util.SequencedCollection
- java.util.SequencedSet
- java.util.SequencedMap