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);
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM