Почему в списках Scala нет упорядочивания?

Без определенного порядка:

Lists<>
Mutex

новый ярлык определений свойства в Платформе 3.5.

21
задан Craig P. Motlin 20 December 2010 в 20:06
поделиться

2 ответа

У вас есть список списков, а не список целых чисел. То, что вам не хватает, - это критерий для определения, является ли список < = другим списком или нет.

Вот что говорится в сообщении об ошибке: я не могу найти способ сравнить список с другим списком, вы должны предоставить его явно.

Если ваш вопрос был «почему у списка нет встроенного метода сравнения с другими списками», ну, это просто так.

4
ответ дан 29 November 2019 в 06:36
поделиться

В более новых версиях Scala (протестировано с 2.12.5) есть Порядок для Iterable [A] . Просто назначьте правильный тип вашей переменной lists:

scala> val lists = List(List(2, 3, 1), List(2, 1, 3))
lists: List[List[Int]] = List(List(2, 3, 1), List(2, 1, 3))

scala> (lists: List[Iterable[Int]]).sorted
res0: List[Iterable[Int]] = List(List(2, 1, 3), List(2, 3, 1))

Или преобразуйте элементы в экземпляры Iterable[] (что запрещено для экземпляров List[]):

scala> lists.map(_.toIterable).sorted
res1: List[Iterable[Int]] = List(List(2, 1, 3), List(2, 3, 1))
0
ответ дан 29 November 2019 в 06:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: