经验不在于年限,在于积累---专注互联网软件开发

把工作当事业做,把项目当作品做!

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  55 Posts :: 0 Stories :: 66 Comments :: 0 Trackbacks
 1package googleCollections;
 2
 3import java.util.ArrayList;
 4import java.util.Arrays;
 5import java.util.Collections;
 6import java.util.List;
 7import java.util.Map.Entry;
 8
 9import com.google.common.collect.ImmutableList;
10import com.google.common.collect.ImmutableMap;
11import com.google.common.collect.ImmutableSet;
12
13/**
14 * Copyright (C): 2009
15 * @author 陈新汉 
16 * @version 创建时间:Jan 12, 2010 11:10:05 PM
17 */

18
19/**
20 * 不可变集合类
21 * 适合作为内容数据不可变的容器类
22 * 例如:常量数组、常量Map等等。
23 * 
24 * 注意:为了实现不可变集合,JDK 5.0里面是通过Collections.unmodifiableList(list)实现的!
25 */

26public class ImmutableListTest {
27    
28    public static final List<String> imlist; //以前实现(方式一)
29    public static final List<String> imlist2; //以前实现(方式二)
30    
31    static{
32        List<String> list=new ArrayList<String>();
33        list.add("a");
34        list.add("b");
35        list.add("c");
36        imlist=Collections.unmodifiableList(list); //通过这种方式实现不可变的集合,以前实现(方式一)
37        imlist2=Collections.unmodifiableList(Arrays.asList("a","b","c")); //或者,通过这种方式实现不可变的集合,以前实现(方式二)
38    }

39
40    /**
41     * @param args
42     */

43    public static void main(String[] args) 
44    {
45        //常量列表
46        ImmutableList<String> imlist=ImmutableList.of("a""b""c");
47        //imlist.add("d"); //注意,编译会报异常
48        for(String s:imlist){
49            System.out.println(s);
50        }

51        
52        //常量Map
53        ImmutableMap<String,String> immap=new ImmutableMap.Builder<String,String>()
54                                            .put("a","1")
55                                            .put("b","2")
56                                            .put("c""3")
57                                            .build();
58        for(Entry<String,String> e:immap.entrySet()){
59            System.out.println(e.getKey()+"="+e.getValue());
60        }

61        
62        //常量Set
63        ImmutableSet<String> imset=ImmutableSet.of("a","b","c");
64        for(String s:imset){
65            System.out.println(s);
66        }

67    }

68
69}

70

(友情提示:本博文章欢迎转载,但请注明出处:hankchen,http://www.blogjava.net/hankchen

posted on 2010-01-13 00:47 hankchen 阅读(7718) 评论(0)  编辑  收藏 所属分类: Java基础

只有注册用户登录后才能发表评论。


网站导航: