如何在Scala表中配置列名?
发布时间:2020-12-16 08:47:51 所属栏目:安全 来源:网络整理
导读:我正在编写一个 Scala程序来管理数据库,并将所有数据绘制到一个二维ArrayBuffer中,其中第0行是列名,后续行包含表中每个条目的信息. 当试图将它放入表中时,ho = w我是否要分配列标题? 语法建议将不胜感激. 伪代码: Data=ArrayBuffer()Data(0)={"Name","Birt
我正在编写一个
Scala程序来管理数据库,并将所有数据绘制到一个二维ArrayBuffer中,其中第0行是列名,后续行包含表中每个条目的信息.
当试图将它放入表中时,ho = w我是否要分配列标题? 语法建议将不胜感激. 伪代码: Data=ArrayBuffer() Data(0)={"Name","Birthday","ID"} Data(1)={"Bob","07/19/1986","2354"} Data(2)={"Sue","05/07/1980","2355"} Data(3)={"Joe","08/12/1992","2356"} Data(4)={"Jim","11/20/1983","2357"} 我想把它放到一个表中,其中Data(0)描述列标题,后续行描述表中的行,但我无法弄清楚如何设置行标题. 解决方法
将数据放入表中的最简单方法是使用其构造函数:
new Table (rowData: Array[Array[Any]],columnNames: Seq[_]) 这里有点棘手的问题是数组不是协变的(见Why doesn’t the example compile,aka how does (co-,contra-,and in-) variance work?),这意味着Array [String]不是Array [Any]的子类型.所以你需要一种方法将一个转向另一个:地图完成工作. 此外,要显示列名,您需要将表放在ScrollPane中. import swing._ import collection.mutable.ArrayBuffer object Demo extends SimpleSwingApplication { val data = ArrayBuffer( Array("Name","ID"),Array("Bob","2354"),Array("Sue","2355") ) def top = new MainFrame { contents = new ScrollPane { contents = new Table( data.tail.toArray map (_.toArray[Any]),data.head ) } } } 会给你一张桌子: 编辑:您还可以使用强制转换:data.tail.toArray.asInstanceOf [Array [Array [Any]]],这比映射更有效. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |