VM
var targetList: ArrayList<Target> = ArrayList()
Size: a a a
VM
var targetList: ArrayList<Target> = ArrayList()
VM
data class Target(
val guid: String = "",
val name: String = "",
val description: String = "",
val date: Long = 0L,
var priority: Int = 0
)
AL
data class Target(
val guid: String = "",
val name: String = "",
val description: String = "",
val date: Long = 0L,
var priority: Int = 0
)
data class Target(
val guid: String = "",
val name: String = "",
val description: String = "",
val date: Long = 0L,
var priority: Int = 0
)
fun main() {
val targetList = mutableListOf(
Target("guid1", priority = 0),
Target("guid2", priority = 2),
Target("guid3", priority = 3),
Target("guid4", priority = 1),
Target("guid5", priority = 2)
)
println(targetList)
targetList.sortByDescending { it.priority }
println(targetList)
}
[Target(guid=guid1, name=, description=, date=0, priority=0), Target(guid=guid2, name=, description=, date=0, priority=2), Target(guid=guid3, name=, description=, date=0, priority=3), Target(guid=guid4, name=, description=, date=0, priority=1), Target(guid=guid5, name=, description=, date=0, priority=2)]
[Target(guid=guid3, name=, description=, date=0, priority=3), Target(guid=guid2, name=, description=, date=0, priority=2), Target(guid=guid5, name=, description=, date=0, priority=2), Target(guid=guid4, name=, description=, date=0, priority=1), Target(guid=guid1, name=, description=, date=0, priority=0)]
VM
VM
data class Target(
val guid: String = "",
val name: String = "",
val description: String = "",
val date: Long = 0L,
var priority: Int = 0
)
fun main() {
val targetList = mutableListOf(
Target("guid1", priority = 0),
Target("guid2", priority = 2),
Target("guid3", priority = 3),
Target("guid4", priority = 1),
Target("guid5", priority = 2)
)
println(targetList)
targetList.sortByDescending { it.priority }
println(targetList)
}
[Target(guid=guid1, name=, description=, date=0, priority=0), Target(guid=guid2, name=, description=, date=0, priority=2), Target(guid=guid3, name=, description=, date=0, priority=3), Target(guid=guid4, name=, description=, date=0, priority=1), Target(guid=guid5, name=, description=, date=0, priority=2)]
[Target(guid=guid3, name=, description=, date=0, priority=3), Target(guid=guid2, name=, description=, date=0, priority=2), Target(guid=guid5, name=, description=, date=0, priority=2), Target(guid=guid4, name=, description=, date=0, priority=1), Target(guid=guid1, name=, description=, date=0, priority=0)]
AL
VM
VM
VM
VM
targetList.sortByDescending { target?.priority }
AM
VM
target?.let { targetList.add(it) }
AM
AM
AM
AM
VM
for (targetSnapshot in dataSnapshot.children) {
val target = targetSnapshot.getValue(Target::class.java)
target?.let { targetList.add(it) }
}
2019-11-02 22:27:07.820 3208-3208/com.mandarine.target_list D/some: getTargetsFromDb [Target(guid=-LrizWpFMU714rExtoit, name=huhy, description=hhhyy, date=0, priority=2)]
2019-11-02 22:27:07.821 3208-3208/com.mandarine.target_list D/some: getTargetsFromDb [Target(guid=-LrizWpFMU714rExtoit, name=huhy, description=hhhyy, date=0, priority=2), Target(guid=-LrizfGg0cKxlftLuL29, name=hhh, description=hhhh, date=0, priority=1)]
2019-11-02 22:27:07.822 3208-3208/com.mandarine.target_list D/some: getTargetsFromDb [Target(guid=-LrizWpFMU714rExtoit, name=huhy, description=hhhyy, date=0, priority=2), Target(guid=-LrizfGg0cKxlftLuL29, name=hhh, description=hhhh, date=0, priority=1), Target(guid=-Ls2Qr_H9jTbchvFBny4, name=hhh, description=hhhh, date=1572134400000, priority=0)]
2019-11-02 22:27:07.823 3208-3208/com.mandarine.target_list D/some: getTargetsFromDb [Target(guid=-LrizWpFMU714rExtoit, name=huhy, description=hhhyy, date=0, priority=2), Target(guid=-LrizfGg0cKxlftLuL29, name=hhh, description=hhhh, date=0, priority=1), Target(guid=-Ls2Qr_H9jTbchvFBny4, name=hhh, description=hhhh, date=1572134400000, priority=0), Target(guid=-LshguMEgE6vPYMUxIQT, name=ооо, description=ооо, date=1574208000000, priority=1)]
2
for (targetSnapshot in dataSnapshot.children) {
val target = targetSnapshot.getValue(Target::class.java)
target?.let { targetList.sortedByDescending { it.priority } }
AM
target
, добавляете его в targetList
, во втором, если вы находите target
, вы его не используете, а просто кажый раз сортируете targetList
.AM
.let
-ами там, где они не нужны, перепишите с помощью if
и прочитайте свой код.AM