作者: Tozzger
[C] stdint.h
内含用typedef表示的各种类型。类型格式如下:
[u]int_[least/fast](8/16/32/64)_t
其中[]中的可填可不填,()中的内容必填。
举个例子:uint_least32_t表示无符号、长度至少32位的整型。
如果只想用可以存储最大数值的类型,请使用(int和max之间没有下划线):
[u]intmax_t
此外,该头文件还包含用宏表示的,上述类型可以存储的最大(小)值。只需要把对应类型全部变为大写,再根据需要把最后的T变为MIN/MAX即可。比如uint_least32_t能储存的最大值为UINT_LEAST32_MAX。
该头文件还有用于转换数字类型的宏:
[U]INT(8/16/32/64/MAX)_C(x)
其中x表示要转换的值(不要跟表示类型的符号)。
比如UINT32_C(45)可能会将45转换成45U。
[C] “类”的实现
[算法] 力扣 1024. 视频拼接
[Java] 神必力扣小工具
[Java] 自 动 论 证 机
[Java] Stream.collect(,,)
Stream 中的成员方法
<R> R collect(Supplier<R> supplier,
BiConsumer<R, ? super T> accumulator,
BiConsumer<R, R> combiner)
以及对应各种基本类型流的成员方法(比如int的)
<R> R collect(Supplier<R> supplier,
ObjIntConsumer<R> accumulator,
BiConsumer<R, R> combiner)
其中 supplier 用于提供集合,比如以下两种方式均可用作 supplier;
ArrayList<T>::new;
()->list;// list 为事先声明的集合
accumulator 用于将把 Stream 中的对象加入到集合中(用例:List::add)
combiner 用于并行处理,只有 Stream 是允许并行的(调用parallel())才起作用
对于并行流,这个方法会把流的对象加入多个集合中,最后根据情况把这些集合中的对象添加到 supplier 所提供的集合中(用例:List::addAll)
[Java] 基本类型运算返回类型
a θ b
- θ为+、-、*、/等涉及数字运算的运算符
- 返回a,b两者中最大的类型,如果这个类型小于int(byte、short、char)则返回int
x ? a : b
- 如果两者类型一样则返回这个类型
- 如果不一样,返回最大的类型,另外如果这个类型小于long
- 如果其中一个类型为int,则优先返回另一个类型
- 如果其中一个类型为char,则返回int
[Java] 集合类一览
*TreeSet和TreeMap的有序指的是按照内容的大小排序,不是按照插入顺序排序。
[Java] Array-Collection-Map-Stream相互转换方式
*斜体表示这个方法产生的是不可变Collection
Java 9 中,可以通过 List/Set.of(E…) 生成不可变的 List<E>/Set<E>,相当于E[]转Collection