Arrays.sort()
Arrays.sort(intervals, (a, b) -> a[0] - b[0]);
这是官方题解的一行。
Arrays.sort(intervals,new Comparator<int[]>()){
@override
public int compare(int[] a, int[] b){
return a[0] - b[0];//若得值>0,则升序排序
}//正经函数全部
不知道这个(a,b) -> a[0] - b[0]是啥意思
new的Comparator<int[]>?
Comparator<int[]>又是个什么玩意?
查查去!
这个讲的Lambda表达式很好。现在对Lambda表达式的理解还是不够深,官方的题解里有这句话,体现出对sort和Lambda表达式的深的体会,如果这两个都理解了,实力一个会有一个大的进步。
组成Lambda表达式的三要素:形式参数,箭头,代码块(这是那个作者的原句)
讲Lambda表达式时有个练习,其中有一行:接口 对象名 = new 实现类;上面这个链接讲了这行相关的内容。
interface就好像一个面具,class就好像戴它的人,虽然面具是相同的,但人做不同的工作。
用Lambda来充当匿名类就有了这段感觉比较难懂的代码(要是没学的话)
List<int[]>
List<int []> list = new ArrayList<>();
这是韩顺平老师讲课的一个截图。
Vector是线程安全的,ArrayList、LinkedList是线程不安全的。关于线程安全不安全等会儿会写一个文章。在我看的一个csdn兄弟的文章,说:这样写方便以后改List的类型(ArrayList、LinkedList)。