Tôi đã nhìn vào định nghĩa của toArray
cho hashmaps:Tại sao scaladoc nói HashMap.toArray trả về mảng [A] thay vì mảng [(A, B)]?
http://www.scala-lang.org/api/current/index.html#scala.collection.immutable.HashMap
Nó có
toArray: Array[A]
def toArray[B >: (A, B)](implicit arg0: ClassTag[B]): Array[B]
Tôi hoàn toàn không hiểu được điều này - bit đầu tiên nói rằng bạn nhận được một Array [A] , nhưng phần thứ hai nói bạn lấy Array [B]? Cả trong số này là những gì tôi mong đợi - Array [(A, B)]
Khi tôi kiểm tra xem nó bản thân mình:
scala> val x = scala.collection.mutable.HashMap[String, Int]()
x: scala.collection.mutable.HashMap[String,Int] = Map()
scala> x.put("8", 7)
res0: Option[Int] = None
scala> x foreach println
(8,7)
scala> x.toArray
res2: Array[(String, Int)] = Array((8,7))
tại sao không phải là nó như ToList?
toList: scala.List[(A, B)]
Tất cả các câu trả lời tuyệt vời, cảm ơn! – Austin