常用高阶函数1、变换函数 map2、变换函数 flatMap3、过滤函数 filter4、合并函数 zip5、压缩 reduce6、折叠函数 fold7、全部代码 1、变换函数 map从Kotlin源码可知 map 函数就是对 Iterable<T> 的 扩展函数,作用就是将泛型T的集合变换成泛型R的集合public inline fun <T, R> Iterable&            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-19 16:55:06
                            
                                111阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            今天仔细的学习了下kotlin的集合,做了些笔记,都是源码注释也很详细。 kotlin为集合提供一些方便的方法大多都类似,我就写了些List的,注释非常详细/**
 * 记录一些好用的语句and方法
 */
class KotlinFunActivity : BaseActivity() {
    override fun onCreate(savedInstanceState: Bundle            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-07-10 18:08:00
                            
                                76阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            主要内容Map的创建方式1:to方式2:PairMap值的读取方式1:[] 找不到会返回null方式2:getOrDefault()方式3:getOrElse()方式4:getValue()相关代码Map集合遍历方式1:forEach方式2:forEach{ K,V -> }方式3:forEach{ (K,V) -> }方式4:for相关代码可变Map集合学习创建可变Map:muta            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-08 21:08:27
                            
                                198阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            在kotlin中有一些常用的对集合进行操作的函数式API,掌握他们可以大大提高编程效率,这些API与java8中的 Stream API类似。下面主要讲解以下几大类1 filter 和 mapfilter主要用作过滤器(对集合元素),它的返回值也是一个集合,定义如下:public inline fun <T> Iterable<T>.filter(predicate: (T            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-21 11:00:47
                            
                                109阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            mapval list = listOf(1, 2, 3, 4)
    val map = list.map {
        it * 2
    } 源码:定义了 map 的扩展函数 mapTo ,mapTo 接受两个参数,第一个参数类型是集合,第二个参数为一个方法  (transform: (T) -> R) ,最终返回一个集合,mapTo中将 tra            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-14 07:02:28
                            
                                78阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            ImmutableCollection代码定义@GwtCompatible(emulated=true)
public abstract class ImmutableCollection<E> extends AbstractCollection<E> 
        implements SerializableImmutableCollection表示内容不可更改的            
                
         
            
            
            
            一、前言在 Kotlin 学习笔记之内置类型(1) 中我们已经讲了 Kotlin 内置类型中的基本类型、数组和区间,今天我们来讲 Kotlin 的集合框架和函数。二、Kotlin 的集合框架Kotlin 的集合有以下特点:增加了 “不可变” 集合框架的接口;复用了 Java API 的所有实现类型;提供了丰富易用的方法,例如 forEach/map/flatMap。2.1、与 Java 对比Kot            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-07-03 23:25:17
                            
                                181阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            习语(Idioms)这篇文章是 Kotlin 中经常使用的 习语 的集合。创建 DTOs(POJOs/POCOs)data class Customer(val name: String, val email: String)这条语句创建了一个有如下特性的 Customer 类– 为所有属性创建 getters,如果 该属性是 var 的话,也创建 setters 属性  – equals() 
            
                
         
            
            
            
             函数 函数声明funfun double(x: Int): Int {
} 函数用法 调用函数使用传统的方法val result = double(2) 调用成员函数使用点表示法Sample().foo() // 创建类 Sample 实例并调用 foo 中缀表示法 函数还可以用中缀表示法调用,当他们是成员函数或扩展函数
他们只有一个参数他们用 infix// 给 Int 定义扩展
i            
                
         
            
            
            
            1. 基础filter和map使用filter函数遍历集合并选出应用给定的lambda后返回true的那些元素例子: val list = listOf(1,2,3,4,5,6,7,8,9)
// 只保留偶数
 println(list.filter { it % 2 == 0 })
 
// 打印的到: [2, 4, 6, 8]map函数对集合中的每一个元素应用给定的函数并把结果收集到            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-09-23 19:21:20
                            
                                64阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            MutableMap委托变化是双向的,是一种可读写委托            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-08-13 09:48:26
                            
                                173阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            在实际的项目开发中,集合的运用可以说是多不胜数。不过Kotlin中的集合运用和Java中还是有很大的差别,他们两者之间,除了集合的类型相同以外,还包含集合的初始化的不同,以及Kotlin对于集合封装特别多的高阶函数以供我们能更简单、更快捷的编写代码。不过在讲解集合之前,我先会对Kotlin中的数组类型做出一个讲解,大家可以当做是对数组Array<T>的一个温故。目录一、数组类型在Kot            
                
         
            
            
            
            一. 接口1、 ) 接口的定义) 使用关键字 interface 来定义接口)Kotlin 接口的方式可以是抽象的,也可以提供默认的实现(即方法体是可选的))Kotlin接口的属性必须声明为抽象(不能初始化)或提供访问器实现。并且在接口中声明的属性不能有幕后字段(backing field),因此接口中声明的访问器不能引用field,var声明的可变变量的访问器依赖幕后字段。所以var属性只能是抽            
                
         
            
            
            
            写在前面:JavaScript的默认对象表示方式是{},但是JavaScript的对象的键必须是字符串。但实际上Number或者其他数据类型作为键也是非常合理的。为了解决这个问题,最新的ES6规范引入了新的数据类型Map。Map是具有极快查找速度的键值对结构。Set和Map类似,也是存在key的列表,只不过Set中的元素不能够重复。  
 运用场景有哪些呢? Map可以用来存储键值对,比如姓名和年            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-19 23:16:22
                            
                                42阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            1 .在Kotlin中创建集合val set= hashsetOf(1,5,6)val list = arrayListOf(1,6,45);val map = hashMapOf( 1 to "one",  5 to "five" ,53 to "fifty-three" )Kotlin 中JavaClass 等价于 Java的getClass()>>>printLn            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-09-22 09:58:48
                            
                                38阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            Kotlin杂谈系列七这节就主要谈谈kotlin内置的迭代器内部迭代器的优势: 避免的显示可变性的威胁 不会出现竞态条件的风险内部迭代器就是高阶函数 高阶函数用来提供通用的代码 而传进来的lambda表达式则是执行特定的任务主要的迭代器 filter()map()reduce()filter : 传进去的lambda的表达式作为条件 满足条件的留下 不满足的过滤掉val nums = listOf            
                
         
            
            
            
            什么是函数式编程 函数式编程是于面向对象编程范式相齐名的一种编程方式,主要依赖于高阶函数返回的数据,这些高阶函数专用于处理各种集合,可方便的联合多个同类函数构建链式操作以创建复杂的计算行为。在Kotlin中支持多种编程范式, 有以下函数类别:变换transform、过滤filter、合并combine。变换 变换是函数式编程的第一大类函数,变换函数会遍历集合内容,用一个以值参的形式传入的变换器函数            
                
         
            
            
            
            
Kotlin学习(4)Lambda2017年09月26日 21:00:03 gwt0425 阅读数:551 c记住Lambda的本质,还是一个对象。和JS,Python等不同的是,Kotlin里的Lambda不是方法,而是一个简化了的对象。此外,Kotlin里面的没有匿名函数这一说,函数也不是传统的对象。看看Kotlin的Lambda//Java
button.se            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-09-12 19:33:34
                            
                                27阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
             1. 引子话说,Kotlin 里面有两个语法用到了 by 这个关键字,一个是接口代理,一个是属性代理(不知道这俩东西是神马的,去 https://kotlincn.net 查官方文档)。你应该知道属性代理其实本质上就是用一个对象接管属性的 get/set 操作,这个东西可以用来实现一些 Observable 相关的操作,也可以用来封装简化一些复杂            
                
         
            
            
            
            HashMap(2)- put、get和remove方法1. put1.1 put方法的定义put方法向这个map中增加指定的键值对,如果map中已经包含了这个键,就替换掉旧的值,并且返回这个值。如果map中不包含这个键,就返回null。/**
 * Associates the specified value with the specified key in this map.
 * If t