У меня есть список типов List(String,String)
, и я хотел его преобразовать в карту. Когда я использовал метод toMap
, я обнаружил, что он не сохраняет порядок данных, которые есть в списке. Однако моя цель состоит в том, чтобы преобразовать список в Map, сохранив порядок данных, аналогичный списку. Я узнал, что ListMap
сохраняет порядок вставки (но он неизменен), поэтому я могу использовать LinkedHashMap с функцией отображения, чтобы вставлять данные последовательно в LinkedHashMap
, но это означает, что мне нужно перебирать все элементы, которые являются болью. Может ли кто-нибудь предложить мне лучший подход? БлагодаряКак преобразовать List (String, String) в ListMap [String, String]?
ответ
Это должно сделать это:
val listMap = ListMap(list : _*)
Спасибо @ C4stor за ваш комментарий, это сработало. Я новичок в scala, и небольшое объяснение аннотации поможет многому понять глубину. – Explorer
[ListMap # apply] (http://www.scala-lang.org/api/2.11.8/index.html#[email protected] [A, B] (elems: (A, B) *): CC [A, B]) принимает двоичные значения. Вызывая ': _ *', элементы списка применяются в varargs, как я понимаю. Возможно, это поможет [hist] (https://gist.github.com/kevinmeredith/b4b3e35bf7bfadce253a8d74aef1c7ef). См. Также http://stackoverflow.com/questions/1008783/using-varargs-from-scala для получения дополнительной информации. –
@ KevinMeredith понял это правильно. Я думаю, что более релевантный вопрос для понимания: _ * http://stackoverflow.com/questions/6051302/what-does-colon-underscore-star-do-in-scala, которые, надеюсь, всю необходимую вам информацию :) – C4stor
- 1. Как преобразовать массив [(String, List [String])] для массива [(String, String)]
- 2. Scala Преобразовать карту [String, List [String]] в карту [String, String]
- 3. Преобразовать Future [List [String]] в список [String]
- 4. Convert List [(String, String)] для отображения [String, карта [String, String]]
- 5. Преобразовать список List [String, String] в список [String, List [String]] в Scala?
- 6. Скала расплющить Список (List (Список (String, List (String, String)
- 7. Как преобразовать опцию [String] в List [String] в Scala
- 8. Как преобразовать List [String] в List [ServerAddress]?
- 9. Как разбить записи из РДА [(String, List [(String, String, String, String)])]
- 10. Как преобразовать кортеж String в String *?
- 11. Как преобразовать String в String Array
- 12. Как преобразовать dataframe в RDD [String, String]?
- 13. Как преобразовать String в String Array?
- 14. scala/spark mapping [String, List [String]] to String пары
- 15. OCaml Parsing String in String * Int list
- 16. string (array) vs string (list) in python
- 17. Перебор словарь (Of String, List (Of String))
- 18. Java новообращенный {String, String} [] к карте <String, String []>
- 19. Получение списка [Serializable] вместо List [(String, String)]
- 20. Как преобразовать List (Of String) в Object()?
- 21. Monad transformers - Scalaz - List [Future [String \/String]] to Future [String \/String]
- 22. String + String vs String + String, возвращаемый методом
- 23. Невозможно неявно преобразовать тип 'string' в 'string []'
- 24. Невозможно неявно преобразовать тип 'string' в 'String'
- 25. Java 8 Преобразование List <Map <String, String> к карте <String, Map <String, String >>
- 26. - Метод setString (int, String) в типе PreparedStatement не применим для аргументов (String, String, String, String, String,
- 27. Преобразовать карту <String, List <String>> в карту <String, Object []>
- 28. Scala Map [(String, String), Int] построить соответствующую MAP [String, String]
- 29. "string"! = "String"
- 30. Как преобразовать в String?
«моя цель состоит в том, чтобы преобразовать список к карте, сохраняя порядок данных такой же, как из списка». Карты не работают так –
«Я узнал, что ListMap сохраняет порядок вставки» Как вы узнали об этом? В документации нет ничего. –
Я узнал из этого сообщения http://stackoverflow.com/questions/3835743/scala-map-implementation-keeping-entries-in-insertion-order – Explorer