将ArrayMap转换为ArrayList – Kotlin

我有一个ArrayMap,我想要一个聊天列表创建和recyclerview。

val chats : ArrayMap<String,Chat>? = ArrayMap() 

RecyclerView.Adapter

 class ChatAdapter(var chats : ArrayList<Chat>){ . . . } 

我从firebase获取这个ArrayMap。 获取ArrayList的最佳方式是什么?

你不应该在公共构造函数中使用ArrayList(因为那你就根据这个实现来制造自己)。 应该是MutableList接口:

 class ChatAdapter(var chats : MutableList<Chat>){ 

我猜ArrayMap是一个通常的Map (因为我不知道那个类)。 你可以写

 val chats : ArrayMap<String,Chat>? = ArrayMap() // ... initialize the chat val adapter = ChatAdapter(am.values.toMutableList()) 

如果你真的需要ArrayList类,你可以写

 val adapter = ChatAdapter(ArrayList(am.values)) 

如果你不需要显式的ArrayList,你可以像这样使用ArrayMap.map()函数:

 val chats : ArrayMap<String,Chat>? = ArrayMap() val list : List<Chat> = chats.map { it.value }