В чем разница между sortBy - sortedBy и sortWith - sortedWith в kotlin - PullRequest
1 голос
/ 14 апреля 2020

Я просто изучаю коллекцию kotlin и заметил одно важное поведение.


val sports = listOf<Sports>(
        Sports("cricket", "7"),
        Sports("gilli", "10"),
        Sports("lagori", "8"),
        Sports("goli", "6"),
        Sports("dabba", "4")
    )

    sports.sortedBy { it.rating } // sortedByDescending is to sort in descending
        .forEach({ println("${it.name} ${it.rating}") })


}

class Sports(name: String, rating: String) {
    var name: String = name
    var rating: String = rating
}

выше, я могу получить только метод sortedBy, т.е. который начинается с sorted. Я не знаю, почему я не получаю sortBy и sortWith операций.

может кто-нибудь объяснить это простыми словами.

1 Ответ

3 голосов
/ 14 апреля 2020

Хорошо, это кажется глупым вопросом. Но иногда даже опытные люди боролись с этим. Итак, я отвечу на это

Первый пункт, есть два типа списка. listOf, mutableListOf

Так что, если вам нужно sortBy, sortWith или что-то, что начинается с сортировки, тогда вы должны использовать mutableListOf

  • , сортировка будет применена к исходному списку , но ничего не вернуть.
  • отсортированный не изменит исходный список, но вернет новый список после применения изменений.

, если вы хотите сохранить исходный список элементов без изменений go с sorted вещи или выберите sort вещи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...