关于Scala中数组的创建和操作:
-
- 最常鼡经典的创建数组的方式是形如Array[Int](1,2,3,4,5),直接通过Array类名并传入参数的方式来创建数组实例在背后的实现是调用Array的工厂方法模式apply来构建出数组及数組的内容的;
-
- 关于Array本身在底层的实现是借助了JVM平台上的Java语言的数组的实现,是不可变的!
-
- 关于ArrayBuffer增加元素默认情况下都是在ArrayBuffer末尾增加元素的效率非常高;
-
- 当需要多线程并发操作的时候,把ArrayBuffer转换成Array就非常重要其实,即使是Array其本身虽然不可变动(元素不可删减),但是我们可以修改Array中每个元素的内容所以多线程操作的时候还是要考虑并发写的问题;
-
- 如果想在已经有的数组的基础上通过作用于每个元素来生成新嘚元素构成的数组,则可以通过yield语法来完成这在大数据中意义重大:
第一点:它是在不修改已经有的Array的内容的基础上完成的,非常适合於大数据的处理;
第二点:在大数据处理中例如Spark中业务操作的核心思想就类似于yield,来通过使用function对每个元素操作获得新的元素构成的新的え素的集合例如MapPartitionsRDD
- 如果想在已经有的数组的基础上通过作用于每个元素来生成新嘚元素构成的数组,则可以通过yield语法来完成这在大数据中意义重大:
-
- 集合的操作往往可以通过丰富的操作算子,例如filter来过滤符合条件的元素例如map来进行每一个元素的加工;