就 Java 而言,Collections 实用程序类是您的朋友。我建议不要手动执行这些操作,而是使用给定的 API。特别注意不可变和不可修改的方法。
例如,就不可变而言,有:
<T> List<T>
emptyList()
Returns the empty list (immutable).
static
<K,V> Map<K,V>
emptyMap()
Returns the empty map (immutable).
static
<T> Set<T>
emptySet()
Returns the empty set (immutable).
对于不可修改的,您有:
static
<T> Collection<T>
unmodifiableCollection(Collection<? extends T> c)
Returns an unmodifiable view of the specified collection.
static
<T> List<T>
unmodifiableList(List<? extends T> list)
Returns an unmodifiable view of the specified list.
static
<K,V> Map<K,V>
unmodifiableMap(Map<? extends K,? extends V> m)
Returns an unmodifiable view of the specified map.
static
<T> Set<T>
unmodifiableSet(Set<? extends T> s)
Returns an unmodifiable view of the specified set.
static
<K,V> SortedMap<K,V>
unmodifiableSortedMap(SortedMap<K,? extends V> m)
Returns an unmodifiable view of the specified sorted map.
static
<T> SortedSet<T>
unmodifiableSortedSet(SortedSet<T> s)
您可以在下面实施其他策略和一些策略,但我将从那里开始。