有時候我們想快速初始化一個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); } }