首页
学习
活动
专区
圈层
工具
发布

【Kotlin】集合操作 ② ( MutableList 可变列表集合 | 修改 MutableList 集合的 mutator 函数 )

文章目录 一、MutableList 可变列表集合 二、修改 MutableList 集合的 mutator 函数 1、添加元素运算符 += 和 删除元素运算符 -= 2、通过 Lambda 表达式筛选要删除的元素...一、MutableList 可变列表集合 ---- 使用 listOf 函数 创建的 List 集合 是 只读列表集合 ; 使用 mutableListOf 函数 创建的 MutableList 集合...集合的 mutator 函数 ---- 修改 MutableList 集合 的 函数 统称为 mutator 函数 ; 1、添加元素运算符 += 和 删除元素运算符 -= 运算符重载 : MutableList...mutableList.remove("Tom") 2、通过 Lambda 表达式筛选要删除的元素 通过 Lambda 表达式筛选要删除的元素 : Lambda 表达式返回 boolean 值 , 如果返回..."Tom", "Jerry") // 通过 Lambda 表达式筛选要操作的元素 // 删除包含 字母 T 的元素 mutableList.removeIf {

1.5K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    手把手教你搭建android模块化项目框架(八)小试牛刀——带搜索列表的页面 paging,mvvm及flow的运用

    经过几期的基础封装,我们的模块化项目基本已经达到了可用的状态,那么今天就来试试开发一个带搜索的列表页面开发吧~好吧,我承认偷懒了,中间漏掉了mvvm、paging的基础封装,不过没关系,代码都在传送门至于..."lotteryType", "remoteName"])data class LotteryEntity( val lotteryType: String, val numbers: MutableList...,查看这里以及viewModel,代码如下:class LotteriesViewModel : BaseViewModel() { val loadingObs = MutableLiveData...(false) val searchObs = MutableLiveData("") @OptIn(ExperimentalCoroutinesApi::class) val posts...的flow模式,并在searchObs值变更时,转换为Mediator的查询,查询的结果转换成页面监听的flow,从而达到查询的目的。

    53220

    Android  JetPack~ LiveData (一)   介绍与使用

    3、LiveData与MutableLiveData区别 4、LiveData的使用 5、MutableLiveData的使用 6、LiveData和MutableLiveData的可变与不可变 7、...其他方法 1、什么是LiveData LiveData是一个观察者模式的数据实体类,它可以在所有注册观察者回调里查看数据是否有更新。...LiveData它能感知绑定者的生命周期(如Activity,Fragment),不会发生内存泄露,因为它只会给活跃状态的activity回调,我们在使用的时候通常都会在回调里去更新UI。...下面代码讲解 抽象类,无法直接new 2、什么是MutableLiveData MutableLiveData的父类是LiveData 用法和LiveData类似,也是在注册观察者回调里查看更新数据 可变...,setValue和postValue支持外部使用(public修饰) 普通类,可以直接new 3、LiveData与MutableLiveData区别 LiveData在实体类里可以通知指定某个字段的数据更新

    2.8K20

    LiveData总线污染的三种防御架构设计

    2025年某头部直播App突发线上事故——电商模块的订单消息竟出现在直播间礼物列表!经字节跳动技术团队溯源,发现全局LiveDataBus的Key命名冲突导致数据污染。...一、核污染级漏洞:LiveDataBus的三大污染源 1.1 Key命名空间核泄漏(源码级解析) 灾难现场: 用户模块使用"refresh"作为用户信息更新Key 订单模块同用"refresh"触发订单状态刷新...return eventMap.getOrDefault(key, new MutableLiveData()); } } 污染原理:全局HashMap未做模块隔离,不同模块的同名...模块隔离与IDE提示联动 Q2:LiveDataBus如何避免粘性事件导致的数据污染? 原子级防御: 1....版本号屏障:继承MutableLiveData重写observe方法,添加版本校验逻辑 2. 事件生命周期:给每个事件绑定发布者的Context,跟随发布模块生命周期自动清理 3.

    23710

    【Jetpack】ViewModel + LiveData + DataBinding 综合使用 ( 核心要点说明 | 组合方式 | 代码示例 )

    结合使用时 , 在 DataBinding 布局中设置的就是该 视图模型 类对象 ; 该 ViewModel 类中 , 还 使用了 LiveData , 可以实时监听数据改变 , 以更新界面 UI 组件...ViewModel() { lateinit var number: MutableLiveData init { number = MutableLiveData...androidx.lifecycle.Observer#onChanged 函数 , 在该回调函数中执行 更新视图 操作 ; LiveData 使用核心要点 : 首先 , 在 自定义 ViewModel...的观察者 , 如果不设置该项 , LiveData 发生数据改变后 , 则 不会通知 UI 组件进行数据更新 ; Activity 组件继承了 AppCompatActivity , AppCompatActivity...成员 , 这是 LiveData 实现 , 用于在 运行过程中 , 一旦 ViewModel 数据发生改变 , 就 通知 View 视图组件 , 更新数据显示 ; LiveData 生效需要 为 MutableLiveData

    2.3K21

    Android Jetpack架构组件(四)之LiveData

    与常规的可观察类不同,LiveData 具有生命周期感知能力,这意味着它具有感知应用组件(如 Activity、Fragment 或 Service)的生命周期的能力,并且LiveData仅更新处于活跃生命周期状态的应用组件观察者...LiveData 具有感知观察者的生命周期能力,并且只有当观察者处于激活状态(STARTED、RESUMED)才会接收到数据更新的通知,在未激活时会自动解除注册观察者,以降低内存泄漏的风险。...而对页面来说,它并不需要关心ViewModel中的数据逻辑,它只关心需要展示的数据是什么,并且在数据发生变化时通知页面数据的变化并做出相应的更新。...事实上,最简单的LiveData使用方法是MutableLiveData,如下所示。...("Android应用开发实战"); } } 3.2.3 更新 LiveData 对象 LiveData 本身没有公开可用的方法来更新存储的数据,如果需要修改LiveData的数据,可以使用MutableLiveData

    4.2K00

    AndroidJetpack Livedata应用场景分析

    LiveData 只会将更新通知给活跃的观察者。为观察 LiveData 对象而注册的非活跃观察者不会收到更改通知。 您可以注册与实现 LifecycleOwner 接口的对象配对的观察者。...中开始一个 2000s 的倒计时,然后通过 Livedata 回调给 Activity 进行更新界面,代码: viewmodel 代码 class CountDownModel : ViewModel...Livedata Transformation.map 在 activity 中观察 viewmodel 中的数据更新,当点击 activity 中按钮的时候会调用 viewmodel.sendData...sendData 方法更新 userLivedata 中的方法时,mapLiveData 的回调也会触发 在 activity 中观察 mapLiveData 并点击按钮发送小数据 mapViewModel.mapLiveData.observe...还有一个 liveCombind 用来回调超过十次调用的场景 init 方法中 liveCombind.addSource 调用就是表示用来中间拦截 livedata1 和 livedata2 的数据更新

    1.3K20

    Android程序员该如何去手写事件通信方案LiveDataBus

    5.组件和数据相关的内容能实时更新 组件在前台的时候能够实时收到数据改变的通知,这是可以理解的。...当组件从后台到前台来时,LiveData能够将最新的数据通知组件,这两点就保证了组件中和数据相关的内容能够实时更新。...LiveData改成了abstract,在此之前它是被定义为public,可以访问外国网站的可以看下这里的修改记录 MediatorLiveData继承自MutableLiveData,MutableLiveData...根据Fragment/Activity生命周期发生变化时,移除观察者或者通知观察者更新数据。 当调用LiveData的setValue()、postValue()方法后,通知观察者更新数据。...本文写一个简单的MyData继承自MutableLiveData。

    1.7K10
    领券