Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在scala中创建有序的xml元素?_Xml_Scala_Scala Xml - Fatal编程技术网

如何在scala中创建有序的xml元素?

如何在scala中创建有序的xml元素?,xml,scala,scala-xml,Xml,Scala,Scala Xml,这在我看来似乎是错误的——为什么元素的顺序与它们的构建顺序不同 scala> var list = collection.immutable.TreeSet(1, 3, 2, 5, 0) list: scala.collection.immutable.TreeSet[Int] = TreeSet(0, 1, 2, 3, 5) scala> var xml = <list>{ list.map(number => { <number>{number}&

这在我看来似乎是错误的——为什么元素的顺序与它们的构建顺序不同

scala> var list = collection.immutable.TreeSet(1, 3, 2, 5, 0)
list: scala.collection.immutable.TreeSet[Int] = TreeSet(0, 1, 2, 3, 5)

scala> var xml = <list>{ list.map(number => { <number>{number}</number> }) }</list>
xml: scala.xml.Elem = <list><number>3</number><number>1</number><number>2</number><number>5</number><number>0</number></list>

scala> var xml = <list>{ list.map(number => { println(number); <number>{number}</number> }) }</list>
0
1
2
3
5
xml: scala.xml.Elem = <list><number>3</number><number>1</number><number>2</number><number>5</number><number>0</number></list>
scala>var list=collection.immutable.TreeSet(1,3,2,5,0)
列表:scala.collection.immutable.TreeSet[Int]=TreeSet(0,1,2,3,5)
scala>var xml={list.map(number=>{{number}}}
xml:scala.xml.Elem=31250
scala>var xml={list.map(number=>{println(number);{number}}
0
1.
2.
3.
5.
xml:scala.xml.Elem=31250

当您在树集上映射时,它会创建一个新集。当然,新的集合不使用整数的自然顺序,因为它的元素不是整数。事实上,由于
元素
没有自然排序,因此新集合是无序的。您可以通过以下方式实现所需的订购:

var xml = <list>{ list.toSeq map (n => <number>{n}</number>) }</list>
var xml={list.toSeq映射(n=>{n}}

事实上,我怀疑它创建了一个新的
树集,因为结果没有
排序。更可能的情况是,它下降到
,默认为
哈希集