👌如何确保函数不能修改集合?
题目详细答案
使用Collections.unmodifiableCollection方法
Java提供了Collections.unmodifiableCollection方法,可以将一个集合包装成一个不可修改的视图。对这个视图的修改操作将会抛出UnsupportedOperationException。
1 | import java.util.*; |
使用Collections.unmodifiable
对于特定类型的集合,如List、Set和Map,Java 提供了相应的不可修改视图方法:
Collections.unmodifiableList
Collections.unmodifiableSet
Collections.unmodifiableMap
1 | import java.util.*; |
使用Collections.unmodifiableCollection递归包装嵌套集合
如果集合中包含嵌套集合(例如一个List中包含Set),你需要递归地将所有嵌套集合也包装成不可修改的视图。
1 | import java.util.*; |
通过以上可以确保传递给函数的集合不会被修改,从而保证集合的不可变性。