java快速初始化list和map

Posted Mars.wang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java快速初始化list和map相关的知识,希望对你有一定的参考价值。

有时候我们想快速初始化一个list和map,但是又不想写成下面这种冗长的模式

private static final Map<Integer, String> priorityMap = new HashMap() {
        private static final long serialVersionUID = 1619653958196860773L;

        {
            put(1, "急");
            put(2, "般");
            put(3, "守");
        }
    };


List<Integer> list=new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);

有没有办法将我们从这种无聊的样例代码中解放出来,有!那就是guava

上pom

        <!-- google java lib -->
        <dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
            <version>17.0</version>
        </dependency>

有了它,我们就可以这样快速初始化list和map

/**
 * @Author : wangbin
 * @Date : 2021/6/25 14:24
 * @Description:
 */
public class Test {
    public static void main(String[] args) {
        //不可变map,不能更新
        ImmutableMap<String, Integer> of = ImmutableMap.of("a", 1, "b", 2, "c", 3);
        //可变map,可以更新
        Map<String, Object> hashMap = Maps.newHashMap(of);
        hashMap.put("d",5);
        System.out.println(hashMap.get("d"));
        //可变list,可以添加元素
        List<String> fo = Lists.newArrayList("a", "b", "c");
        //不可变list
        List<Integer> integers = Arrays.asList(1, 2, 3);
        fo.add("d");
        System.out.println(fo);
    }
}

 

以上是关于java快速初始化list和map的主要内容,如果未能解决你的问题,请参考以下文章

java,list数组转换成map

Java8 快速实现List转map 分组过滤等操作

java List<map>赋值的问题

elasticsearch代码片段,及工具类SearchEsUtil.java

java 快速将两个list<map> 根据map中某个固定key的value相等整合成一个list<map>

java中如何map转换为数组