iT邦幫忙

2021 iThome 鐵人賽

DAY 18
0
Mobile Development

Android 口罩地圖入門實戰 30 天 (使用 Kotlin 程式語言)系列 第 18

Day 18:Kotlin 過濾(filter)集合資料用法

本篇文章同步發表在 HKT 線上教室 部落格,線上影音教學課程已上架至 UdemyYoutube 頻道。另外,想追蹤更多相關技術資訊,歡迎到 臉書粉絲專頁 按讚追蹤喔~

昨天,我們使用了 CardView 卡片式佈局,讓資料更好閱讀,但大家會發現,要找到自己住家周邊藥局還是很麻煩,所以今天,KT 將要來介紹一下,如何從將近六千多筆藥局口罩資料中,透過 Kotlin 標準函式庫,所提供的 filter 語法,來獲取出我們要的資料。


此圖片取自:Freepik

filter 濾出特定資料

透過 filter 語法,過濾出縣市為「臺東縣」且鄉鎮為「池上鄉」的藥局資料:

val filterData = pharmacyInfo.features.filter { it.properties.county == "臺東縣" &&  it.properties.town=="池上鄉"}

透過上方語法,我們將可以在將近六千筆的藥局資料當中,快速過濾篩選出此筆資料:

{
    "type": "Feature",
    "properties": {
        "id": "2346100018",
        "name": "台東縣池上鄉衛生所",
        "phone": "(089)862609",
        "address": "臺東縣池上鄉中山路104號",
        "mask_adult": 1062,
        "mask_child": 170,
        "updated": "2020\/09\/24 14:32:36",
        "available": "星期一上午看診、星期二上午看診、星期三上午看診、星期四上午看診、星期五上午看診、星期六上午休診、星期日上午休診、星期一下午看診、星期二下午看診、星期三下午看診、星期四下午看診、星期五下午看診、星期六下午休診、星期日下午休診、星期一晚上休診、星期二晚上休診、星期三晚上休診、星期四晚上休診、星期五晚上休診、星期六晚上休診、星期日晚上休診",
        "note": "星期四下午無門診(醫師支援他所)、上班時間有代售防疫口罩服務(如遇假日則暫停代售)",
        "custom_note": "",
        "website": "",
        "county": "臺東縣",
        "town": "池上鄉",
        "cunli": "福原村",
        "service_periods": "NNNNNYYNNNYNYYYYYYYYY"
    },
    "geometry": {
        "type": "Point",
        "coordinates": [
            121.214811,
            23.121687
        ]
    }
}

forEach 取出所有資料

透過 forEach 的語法,可以印出我們剛剛篩選出來的藥局名稱

filterData.forEach{
                println(it.properties.name)
            }

輸出結果

台東縣池上鄉衛生所

參考資料

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


有沒有驚喜感呀~ 在將近六千多筆藥局口罩資料當中,說真的,如果要 KT 找出特定某間藥局名稱與口罩資料,真的會找到眼花瞭亂,但如果這次學會了我們 Kotlin 的 filter 語法,就會發現到,哇,原來找資料,只要塞入指定條件,不用幾秒,瞬間就找到,我們要的資料。是不是真的很方便呢?

那今天【iThome 鐵人賽】就介紹到這邊囉~

順帶一提,KT 線上教室,臉書粉絲團,會不定期發佈相關資訊,不想錯過最新資訊,不要忘記來按讚,追蹤喔!也歡迎大家將這篇文章分享給更多人喔。

我們明天再見囉!!!掰掰~


上一篇
Day 17:RecyclerView 跳頁&資料傳遞(2)
下一篇
Day 19:Kotlin 分組(groupBy)集合資料用法
系列文
Android 口罩地圖入門實戰 30 天 (使用 Kotlin 程式語言)30

尚未有邦友留言

立即登入留言