IndexedSeq [Int]与Array [Int]

来自Java背景,我正在学习Scala,以下内容使我感到非常困惑。为什么在这两个(非常相似但不同)的构造中返回的类型不同,它们仅在构建源集合的方式上有所不同-

  val seq1: IndexedSeq[Int] = for (i <- 1 to 10) yield i

  val seq2: Array[Int] = for (i <- Array(1, 2, 3)) yield i

请为我指出正确的文献,以便在这里我可以理解核心基础。