Общая идиома в Java для Scala, переход/итерация списка Java в список Scala

Я обрабатываю XML-документ и перебираю узлы. Я хочу перебирать узлы и создавать новый список определенного типа. Как бы я сделал это со Scala:

Вот мой код обхода XML:

  def findClassRef(xmlNode: Elem) = {

    xmlNode\"classDef" foreach { (entry) =>
        val name    = entry \ "@name"
        val classid = entry \ "@classId"
        println(name + "//" + classid)
    }
  }

Где строка println, я хочу добавить элементы в список.


person Berlin Brown    schedule 23.04.2010    source источник


Ответы (1)


Карта должна работать. Если вам не нужен именно экземпляр List, вы можете удалить toList.

xmlNode \"classDef" map { (entry) =>
  val name    = entry \ "@name"
  val classid = entry \ "@classId"
  name + "//" + classid
} toList
person Thomas Jung    schedule 23.04.2010
comment
Это сработает. Нет ли добавления к списку способов сделать это? - person Berlin Brown; 23.04.2010
comment
@Berlin Почему вы хотите явно добавить в список? «map» добавляется к новой коллекции внутри. - person Ben Lings; 24.04.2010