songining
[Kotlin] associateBy, groupBy
Language/Kotlin 2023. 2. 21. 16:45

collections API ์ค‘ ํ•˜๋‚˜๋กœ ์ปฌ๋ ‰์…˜์„ Map ํ˜•ํƒœ๋กœ ๋ณ€ํ˜•์‹œ์ผœ์ฃผ๋Š” API ์ด๋‹ค. associateBy ํ•จ์ˆ˜์™€ groupBy ํ•จ์ˆ˜๋Š” ์ง€์ •๋œ key์— ์˜ํ•ด ์ธ๋ฑ์‹ฑ๋œ ์ปฌ๋ ‰์…˜์˜ ์›์†Œ๋กœ๋ถ€ํ„ฐ Map์„ ๋งŒ๋“ค์–ด์ค€๋‹ค. associateBy public inline fun Iterable.associateBy(keySelector: (T) -> K): Map { val capacity = mapCapacity(collectionSizeOrDefault(10)).coerceAtLeast(16) return associateByTo(LinkedHashMap(capacity), keySelector) } ๋งค๊ฐœ๋ณ€์ˆ˜์—๋Š” T๋ฅผ ์ „๋‹ฌํ•˜๊ณ  key๋ฅผ ๋ฆฌํ„ดํ•˜๋Š” ๋žŒ๋‹คํ•จ์ˆ˜ keySelector๋ฅผ ์ธ์ž๋กœ ๋ฐ›๋Š”๋‹ค. ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๋ฐ›์€ key..