파라미터로 리스트를 전달해주고, 원본 list 에서, 파라미터로 받은 list 의 element 와 같은 인덱스의 값으로 된 리스트를 반환한다
public fun <T> List<T>.slice(indices: Iterable<Int>): List<T> { val size = indices.collectionSizeOrDefault(10) if (size == 0) return emptyList() val list = ArrayList<T>(size) for (index in indices) { list.add(get(index)) } return list } val list = listOf(1, 2, 3, 4, 5) println(list.slice(listOf(2, 4))) // [3, 5]
Last updated 6 years ago