创建集合和数组
首先,让我们看一下如何创建集合和数组。
创建集合
在Scala中,我们可以使用List、Set和Map等集合类型来创建集合。
val list: List[Int] = List(1, 2, 3, 4, 5) val set: Set[String] = Set("apple", "banana", "orange") val map: Map[String, Int] = Map("one" -> 1, "two" -> 2, "three" -> 3)
上述代码创建了一个整数列表list,一个字符串集合set和一个字符串到整数的映射map。
创建数组
在Scala中,我们可以使用Array类来创建数组。
val array: Array[Int] = Array(1, 2, 3, 4, 5)
上述代码创建了一个包含整数的数组array。
遍历集合和数组
接下来,让我们看一下如何遍历集合和数组。
遍历集合
在Scala中,我们可以使用foreach方法来遍历集合。
list.foreach(element => println(element))
上述代码遍历了列表list中的每个元素,并将其打印输出。
遍历数组
在Scala中,我们可以使用for循环来遍历数组。
for (element <- array) { println(element) }
上述代码遍历了数组array中的每个元素,并将其打印输出。
集合和数组操作
除了遍历,Scala还提供了许多其他的集合和数组操作。
映射操作
在Scala中,我们可以使用map方法对集合和数组中的每个元素进行映射操作。
val doubledList: List[Int] = list.map(element => element * 2) val squaredArray: Array[Int] = array.map(element => element * element)
上述代码将列表list中的每个元素都乘以2,并将结果存储在doubledList中。将数组array中的每个元素都平方,并将结果存储在squaredArray中。
过滤操作
在Scala中,我们可以使用filter方法对集合和数组中的元素进行过滤操作。
val evenList: List[Int] = list.filter(element => element % 2 == 0) val oddArray: Array[Int] = array.filter(element => element % 2 != 0)
上述代码从列表list中过滤出所有偶数,并将结果存储在evenList中。从数组array中过滤出所有奇数,并将结果存储在oddArray中。
聚合操作
在Scala中,我们可以使用reduce方法对集合和数组中的元素进行聚合操作。
val sumList: Int = list.reduce((a, b) => a + b) val productArray: Int = array.reduce((a, b) => a * b)
上述代码将列表list中的所有元素相加,并将结果存储在sumList中。将数组array中的所有元素相乘,并将结果存储在productArray中。
运行结果
现在,让我们运行上述代码并查看结果。
val list: List[Int] = List(1, 2, 3, 4, 5) val set: Set[String] = Set("apple", "banana", "orange") val map: Map[String, Int] = Map("one" -> 1, "two" -> 2, "three" -> 3) val array: Array[Int] = Array(1, 2, 3, 4, 5) list.foreach(element => println(element)) for (element <- array) { println(element) } val doubledList: List[Int] = list.map(element => element * 2) val squaredArray: Array[Int] = array.map(element => element * element) val evenList: List[Int] = list.filter(element => element % 2 == 0) val oddArray: Array[Int] = array.filter(element => element % 2 != 0) val sumList: Int = list.reduce((a, b) => a + b) val productArray: Int = array.reduce((a, b) => a * b) println("Doubled List: " + doubledList) println("Squared Array: " + squaredArray.mkString(", ")) println("Even List: " + evenList) println("Odd Array: " + oddArray.mkString(", ")) println("Sum List: " + sumList) println("Product Array: " + productArray)
运行上述代码,将得到以下输出结果:
1 2 3 4 5 1 2 3 4 5 Doubled List: List(2, 4, 6, 8, 10) Squared Array: 1, 4, 9, 16, 25 Even List: List(2, 4) Odd Array: 1, 3, 5 Sum List: 15 Product Array: 120
在上述代码中,我们创建了一个整数列表list和一个整数数组array。然后,我们遍历了列表和数组,并对它们进行了一些常见的操作,如映射、过滤和聚合。最后,我们打印输出了操作后的结果。