本篇文章同步發表在 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 線上教室,臉書粉絲團,會不定期發佈相關資訊,不想錯過最新資訊,不要忘記來按讚,追蹤喔!也歡迎大家將這篇文章分享給更多人喔。
我們明天再見囉!!!掰掰~