优雅创建List或者Map的方式

List


创建空List:
Collections.emptyList();
创建单个元素的List:
Collections.singletonList("item");
但是需要注意,上面两种创建方式创建出来的List都是不可变List,创建可变List的快捷方式可以使用google工具包中提供的方法:

import com.google.common.collect.Lists;

ArrayList<String> list = Lists.newArrayList("12", "23");
list.add("344");
System.out.println(list);//[12, 23, 344]

Map


方式一:

ImmutableMap<String, String> of =
                ImmutableMap.of("key1", "value1", "key2", "value2", "key3", "value3");

方式二:

Map<String, String> stringStringMap = ImmutableMap.<String,String>builder()
            .put("page","page/page/index")
            .put("templateId","")
            .put("formId","")
            .build();
  • 注意上面两种方式创建出来的Map都是不可变的Map,如果初始化完成之后调用put方法修改的话会出现UnsupportedOperationException
    初始化完成之后再修改出现异常
  • 其次需要注意的是使用这两种方式进行初始化的时候,不可以出现重复的key。出现重复的key不是后者的value会覆盖前者的value,而是会出现IllegalArgumentException:
    重复key异常

优雅,永不过时

posted @ 2022-08-30 20:16  MorningBell  阅读(570)  评论(0编辑  收藏  举报