Has*_*tay 5 list kotlin mutablelist
我有一个包含从 api 提取的数据的列表。但是,我需要对此列表(movieList)进行更改。我需要将索引 0 处的元素与索引 1 处的元素交换。例如:
列表[0] = 电影A,
列表[1] = 电影B
然后
列表[0] = 电影B,
列表[1] = 电影A
我打算执行这些操作的类如下:
data class MovieListDto(
val docs: List<Movie>,
val limit: Int,
val offset: Int,
val page: Int,
val pages: Int,
val total: Int
)
fun MovieListDto.MovieListDtoToMovieList(): List<Movie> {
val movieList = mutableListOf<Movie>()
for (movie in docs) {
if (movie._id == "5cd95395de30eff6ebccde5c" ||
movie._id == "5cd95395de30eff6ebccde5b" ||
movie._id == "5cd95395de30eff6ebccde5d"
) {
movieList.add(movie)
}
}
return movieList
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
您可以使用一个简单的扩展函数来实现:
fun <T> MutableList<T>.swap(index1: Int, index2: Int){
val tmp = this[index1]
this[index1] = this[index2]
this[index2] = tmp
}
Run Code Online (Sandbox Code Playgroud)
它可以像这样使用:
list.swap(0, 1)
Run Code Online (Sandbox Code Playgroud)