颜值即是正义。所以代码也要好看。
1.创建
Map<String, Map<Long, List<String>>> map = new HashMap<String, Map<Long,List<String>>>(); | | | ^ Map<String, Map<Long, List<String>>> map = Maps.newHashMap();
2.GUAVA
2.1 介绍
Guava工程包含了若干被Google的 Java项目广泛依赖 的核心库,例如:集合 [collections] 、缓存 [caching] 、原生类型支持 [primitives support] 、并发库 [concurrency libraries] 、通用注解 [common annotations] 、字符串处理 [string processing] 、I/O 等等。
2.2 学习
https://blog.csdn.net/dgeek/article/details/76221746
3.java8
3.1
源代码--》 List<String> names = Arrays.asList("peter", "anna", "mike", "xenia"); Collections.sort(names, new Comparator<String>() { @Override public int compare(String a, String b) { return b.compareTo(a); } }); java 8 lambda表达式: Collections.sort(names,(String a, String b)->{ return b.compareTo(a); }); 对于函数体只有一行代码的,你可以去掉大括号{}以及return关键字 Collections.sort(names,(String a, String b)->b.compareTo(a)); Java编译器可以自动推导出参数类型,所以可以不用再写一次类型。 终结版 Collections.sort(names,(a,b)->b.compareTo(a));
3.2 Optional
意外发现了java8自带的这个类,超好用哎。解释一下使用方法。
3.2.1 Optional.ofNullable()
Optional中的静态方法,最实用的一个方法。根据名字就可以猜出-》这个方法传参可以为空值。
那么当参数为null时,结果为下图
在Optional类中,对于null值有所设定,且不会出现空指针的情况。所以当你传的参数为null时,会打印出Optional.empty。
3.2.2 Optional.empty()
Optional中的静态方法,含义为下图:
3.2.3 Optional.of()
Optional 中的静态方法,这个方法就是参数不能为空的 Optional.ofNullable() ,当参数为空的时候,为抛出空指针异常。
3.2.4 orElse()
此方法不是静态方法,所以通常和 Optional.ofNullable() 一起使用会有很好的体验感
上图表示,当对象a为空时输出"a"。就相当于代码中的 a == nulla:"a"
这个类的好处就是避免了参数的空指针问题。