首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Agoni_Soul
掘友等级
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
2
文章 2
沸点 0
赞
2
返回
|
搜索文章
最新
热门
Kotlin基本知识(六)——lambda编程
函数式编码提供了一种解决问题的方法:把函数当作值来对待。 maxBy函数可以在任何集合上调用,且只需要一个实参:一个函数,指定比较哪个值找到最大元素。 如果lambda刚好是函数或者属性的委托,可以用成员引用替换。 Kotlin的lambda表达式始终用花括号包围。注意实参并没…
Kotlin基础知识五——数据类和类委托
hashCode方法通常和equals一起被重写。 不可变对象:一旦一个对象呗创建出来,它会一直保持初始状态,也不用担心在你的代码工作时其他线程修改了对象的值。 为了让不可变对象的数据类变得更容易,Kotlin编译器为它们多生成了一个方法:一个允许copy类的实例方法,并在co…
Kotlin基本知识四——构造方法
通用也允许在初始化语句块中添加额外的初始化逻辑。 这段别括号围起来的语句块就叫做主构造方法。它主要有两个目的:表明构造方法的参数,以及定义使用这些参数初始化的属性。 constructor:用于开始一个主构造方法或从构造方法的声明。 init:用于引入一个初始化语句块。 ini…
Kotlin基础知识三——接口与类
Kotlin在类名后面使用冒号来替代Java中的extends和implements关键字。 和Java一样,一个类可以实现任何多个接口,但是只能继承一个类。 接口的方法可以有一个默认实现。 与Java 8不同的是,Java 8中需要你在这样的实现上标注default关键字,对…
Kotlin基础知识二——扩展功能
使用关键字as来修饰导入的类或者函数名称,避免类或函数名重复,其是解决命名冲突问题的唯一方式。 扩展函数是静态函数,它把调用对象作为它的第一个参数。调用扩展函数,不会创建适配的对象或者任何运行时的额外消耗。 扩展函数的静态性质也决定了扩展函数不能被子类重写。 扩展属性提供了一种…
Kotlin的基础知识
在Kotlin中,if是表达式,而不是语句。 在Java中,所有的控制结构都是语句。 而在Kotlin中,除了循环(for、while和do/while)以外大多数控制结构都是表达式。 Java中的赋值操作是表达式,在Kotlin中反而变成了语句。 val(来自value)——…
RxJava的部分变换操作符源码分析
一. map操作符 对Observable发射的每一项数据应用一个函数,执行变换操作,如下图。 map操作符对原始Observable发射的的每一项数据应用一个你选择的函数,然后返回一个发射这些结果的Observable。 RxJava将这个操作符实现为map函数,这个操作符默…
RxJava的变换操作符和过滤操作符汇总
变换操作符方法名用法map()对序列的每一项都用一个函数来变换Observable发射的数据序列flatMap()concatMap()flatMapIterable()将Observable发射的数
RxJava之Scheduler (三) ——线程调度
默认情况下,不做任何线程处理,Observable和Observer处于同一线程中。如果想要切换线程,则可以使用subscribeOn()和observeOn()。 subscribeOn通过接受一个Scheduler参数,来指定对数据的处理运行在特定的线程调度器Schedul…
关于Map的containsKey()和List的contains()的性能分析
今天在做LeetCode的第194场周赛时的第二题时,使用List.contains方法来去重一直超时,在周赛快结束时才知道list的contains是从头开始进行比较,而Map.containsKey则是先通过Hash值得多对应的链表,在链表内进行比较,效率显然高于list。…
下一页
个人成就
文章被点赞
149
文章被阅读
152,678
掘力值
3,153
关注了
12
关注者
58
收藏集
2
关注标签
7
加入于
2019-10-27