Kotlin学习笔记——lambda
参考文献——kotlin之Lambda编程
来自简书作者——程自舟
Kotlin lambda语法
1 | btn.setOnClickListener ((View v) -> { |
完整写法
1 | {a:Int, b:String, c:Long/*输入参数列表*/ -> String/*返回值类型*/ |
参考文献——kotlin之Lambda编程
来自简书作者——程自舟
1 | btn.setOnClickListener ((View v) -> { |
1 | {a:Int, b:String, c:Long/*输入参数列表*/ -> String/*返回值类型*/ |
1 |
data class可以很方便BaseAdapter适配器的类1 | class ListViewAdapter(private val context: Context, private val strList:MutableList<myItems>, private val background:Int) : BaseAdapter() { |
c++中结构体的作用,因为数组只能传递一个),创建对应的List并且赋值1 | var item:MutableList<myItems> = mutableListOf() |
参考文献——Kotlin学习之运算符
来自简书作者——Hunter_Arley
| 运算符 | 解释 | 重载函数 |
|---|---|---|
| a == b | 判断ab是否结构相等,相当于java中a.equals(b)或b.equals(a) | a?.equals(b)?:b===null |
| a != b | 判断ab是否结构不等,相当于java中!a.equals(b)或!b.equals(a) | !(a?.equals(b)?:b===null) |
| === | 判断是否结构相等且引用相同 |
==用来比较两个元素是否相同,比如字符串的内容,整数,浮点数的值,而不比较引用是否相同,而===表示比较内容是否相同,且引用是否相同| 运算符 | 解释 | 重载函数 |
|---|---|---|
| is | 判断变量是否为某个类型 | |
| a in b | 检查元素a是否在b中 | b.contains(a) |
| 数据类型名称 | Kotlin的数据类型 |
|---|---|
| 整型 | Int |
| 长整型 | Long |
| 浮点型 | Float |
| 双精度浮点型 | Double |
| 布尔型 | Boolean |
1 | var integer:Int//一般用法var/val + 标识符 + : + 类型名,var表示变量 |
@JvmOverloads(让java能够识别默认参数),并且补充constructor关键字@JvmOverloads修饰,constructor关键字可省略(不是指二级构造函数的constructor,是类名后面的)constructor关键字1 | class Animal (type:String = "动物", name:String) { |
刚开始就是用双层for循环写,然后秉承着谦虚的态度看了题解,发现真的有O(N)的算法一遍哈希表。
主要就是利用map建立从数到数组下标的map,然后每次计算出target-nums[i]的值,然后看map里面有对应的下标,有的话就输出,没有就继续。
map的值为0时,如何区分stl的map知识有限,如何判断0是数组里面没有这个数还是查询的引索为0呢?只要储存的时候下标+1,用的时候减一就行了,这样map值为0,一定是没有这个数。
1 | class Solution { |
1 | static const auto __ = []() { |
1 | class Solution { |
1 | class Solution { |
把2,5的倍数拆成2,5,数5的个数(2一定比5多),这样5一定和2配对,所以5的个数就是末尾0的个数
1 | class Solution { |
1 | class Solution { |
i-j的值就是一个非重复子串的长度1 | class Solution { |