初始化对列表的数组

时间:2014-10-27 09:07:07

标签: scala

我是这堂课:

abstract class SimpleHashTable extends HashTable {
  type Bucket = List[Pair[K, V]]
  type Table = Array[Bucket]

  def alloc_data(size: Int): Table = { 
         var tb = new Table(size)
         //tb.apply(_ =>  Nil)

我不确定如何将Table的内容初始化为Nil

请指教。谢谢,

2 个答案:

答案 0 :(得分:5)

使用var tb = Array.fill(size)(List[Pair[K,V]]())

scala> type Bucket = List[Pair[Int, String]]
defined type alias Bucket

scala> type Table = Array[Bucket]
defined type alias Table

scala> val tb:Table = Array.fill(5)(List[Pair[Int, String]]())
tb: Table = Array(List(), List(), List(), List(), List())

编辑: 实际上这种语法可能更容易理解:

scala> val tb:Table = Array.fill(5)(Nil)
tb: Table = Array(List(), List(), List(), List(), List())

答案 1 :(得分:0)

您是否尝试将其初始化为空数组?

var tb = Array()

修改

Canonical way for empty Array in Scala?