Java如何使一个集合只读?

在Java编程中,如何使一个集合只读?

下面的例子展示了如何使用Collection类的Collections.unmodifiableList()方法使一个集合为只读。

package com.zaixian;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;

public class ReadonlyCollection {
    public static void main(String[] argv) throws Exception {
        List stuff = Arrays.asList(new String[] { "a", "b" });
        List list = new ArrayList(stuff);
        list = Collections.unmodifiableList(list);
        try {
            list.set(0, "new value");
        } catch (UnsupportedOperationException e) {
        }
        Set set = new HashSet(stuff);
        set = Collections.unmodifiableSet(set);
        Map map = new HashMap();
        map = Collections.unmodifiableMap(map);
        System.out.println("Collection is read-only now.");
    }
}

上述代码示例将产生以下结果。

Collection is read-only now.

上一篇: Java集合 下一篇: Java网络