Reputation: 563
I spend an hour trying to sort in Kotlin two same mutable list, but output is different. Could someone please explain, why?
Code:
val manualList = mutableListOf("black, M, CHINA", "black, XL, CHINA", "black, XXL, CHINA", "black, L, CHINA")
val testObj = JSONObject("{ \"193100014065201336100\": {\"name\": \"black, XL, CHINA\" }, \"193361385201336100\": { \"name\": \"black, L, CHINA\" }, \"193361386201336100\": { \"name\": \"black, М, CHINA\" }, \"1934182201336100\": { \"name\": \"black, XXL, CHINA\" } }")
val autoList = mutableListOf<String>()
for (key in testObj.keys()) {
val obj = testObj.getJSONObject(key)
autoList.add(obj.getString("name"))
}
println("Check class:")
println(manualList::class.java)
println(autoList::class.java)
println()
println("Check initial position:")
println(manualList.joinToString(" | "))
println(autoList.joinToString(" | "))
println()
println("Why???")
println(manualList.sortedBy { it }.joinToString(" | "))
println(autoList.sortedBy { it }.joinToString(" | "))
Output:
Check class: class java.util.ArrayList class java.util.ArrayList Check initial position (same): black, M, CHINA | black, XL, CHINA | black, XXL, CHINA | black, L, CHINA black, М, CHINA | black, XL, CHINA | black, XXL, CHINA | black, L, CHINA Why??? black, L, CHINA | black, M, CHINA | black, XL, CHINA | black, XXL, CHINA black, L, CHINA | black, XL, CHINA | black, XXL, CHINA | black, М, CHINA
To make at clear, I need manualList sort output.
Upvotes: 0
Views: 50
Reputation: 9722
There is russian М
in { \"name\": \"black, М, CHINA\" }
and latin M
in "black, M, CHINA"
in manualList
Upvotes: 2