本篇文章同步发表在 HKT 线上教室 部落格,线上影音教学课程已上架至 Udemy 和 Youtube 频道。另外,想追踪更多相关技术资讯,欢迎到 脸书粉丝专页 按赞追踪喔~
今天,KT 将要来介绍一下,如何从将近六千多笔药局口罩资料中,透过 Kotlin 标准函式库,所提供的 groupBy 分组语法,来获取出我们要的资料。
透过 groupBy 语法,可以帮我们分组出资料,以县市为例:
val countyData = pharmacyInfo.features.groupBy { it.properties.county }
for (county in countyData) {
println(county.key)
}
KT 贴心提醒:当要取出很多层回圈的资料时,良好的程序习惯,建议不要使用 i、j、k 命名变数资料。
花莲县
台东县
澎湖县
屏东县
高雄市
台南市
嘉义县
云林县
嘉义市
南投县
彰化县
台中市
桃园市
新竹县
苗栗县
新竹市
新北市
宜兰县
基隆市
台北市
金门县
连江县
进一步分组出县市与乡镇资料
val countyData = pharmacyInfo.features.groupBy { it.properties.county }
for (county in countyData) {
println(county.key)
val townData = county.value.groupBy { it.properties.town }
for (town in townData) {
println("------${town.key}")
}
}
花莲县
------玉里镇
------新城乡
------吉安乡
------花莲市
------凤林镇
------瑞穗乡
------寿丰乡
------光复乡
------富里乡
------秀林乡
------万荣乡
------卓溪乡
------丰滨乡
------
台东县
------台东市
------关山镇
------鹿野乡
------太麻里乡
------成功镇
------长滨乡
------卑南乡
------大武乡
------东河乡
------池上乡
------绿岛乡
------延平乡
------海端乡
------达仁乡
------金峰乡
------兰屿乡
...
...
...
val countyData = pharmacyInfo.features.groupBy { it.properties.county }
for (county in countyData) {
println(county.key)
val townData = county.value.groupBy { it.properties.town }
for (town in townData) {
println("------${town.key}")
for (pharmacy in town.value) {
println("${pharmacy.properties.name}: 成人:${pharmacy.properties.mask_adult},小孩成人:${pharmacy.properties.mask_child}")
}
}
}
花莲县
------玉里镇
德兴药局: 成人:1269,小孩成人:190
仁德药局: 成人:1665,小孩成人:200
东玉药局: 成人:1548,小孩成人:170
里安药局: 成人:1773,小孩成人:200
锦玉药局: 成人:1402,小孩成人:170
庄药局: 成人:1431,小孩成人:180
花莲县玉里镇卫生所: 成人:1548,小孩成人:200
------新城乡
黄药局: 成人:1062,小孩成人:120
丽康药局: 成人:1773,小孩成人:200
佳安药局: 成人:1467,小孩成人:140
花莲县新城乡卫生所: 成人:1422,小孩成人:180
...
...
...
HKT 线上教室
https://tw-hkt.blogspot.com/
Freepik
https://www.freepik.com/
Kotlin Collections Overview
https://kotlinlang.org/docs/reference/collections-overview.html#kotlin-collections-overview
Filtering
https://kotlinlang.org/docs/reference/collection-filtering.html#filtering
Grouping
https://kotlinlang.org/docs/reference/collection-grouping.html#grouping
在过往学生看书学习生涩的程序语法,常表示搭配不知道要干嘛的例子,真的很让人头疼,希望透过这一次活生生的例子,大家可以感受到 groupBy 分组语法的强大。
那今天【iThome 铁人赛】就介绍到这边罗~
顺带一提,KT 线上教室,脸书粉丝团,会不定期发布相关资讯,不想错过最新资讯,不要忘记来按赞,追踪喔!也欢迎大家将这篇文章分享给更多人喔。
我们明天再见罗!!!掰掰~
<<: Day.11 搞懂主从架构- 主从复制(Master Slave Replication)
>>: Day 19 Azure machine learning: workspace and compute group- 从零开始
Rate Limits Rate Limits主要功能是防止request过量打爆服务,当同一来源的...
接下来介绍各种运算子,也是用程序码跟注解做说明 以下是执行程序 ...
最近又从主管那边收到要做新的专案。 如果计画时间上线时间合理,不是十天没日没夜的工作,通常都会觉得这...
比较下面两个用法: <!-- computed --> <div>{{ re...
Day 18 - Android Studio 如何切换Activity(分页) 昨天我们讲了如何使...