Scala
Scala相关
专注于大数据技术栈
记录点点滴滴
展开
-
scala中List、Array、ListBuffer、ArrayList、Set、元组区别
1.List列表:不可变LIst支持在头部快速添加和移除条目,但是不提供快速按下标访问的功能,这个功能需要线性遍历列。快速的头部添加和移除意味着模式匹配很顺畅List列表跟数组非常像,2者都是同构的,同一个列表的所有元素必须是相同类型。但是有2个重要区别1,List是不可变的,元素不能通过赋值改变。2.列表的结构是递归的(即链表,linkedList),而数组是平等的。使用toList、toArray相互转换:scala> Array(1,2,3).toListres1原创 2020-06-29 18:42:08 · 710 阅读 · 0 评论 -
伴生类伴生对象和apply的使用
// 定义类 对象的半生类class bansheng { val name = "哈哈哈" val age = 123 // 正常私有的方法 private val gender = "北京" // 私有的方法,只能这个方法使用 private[this] val per = "是的呢"}// 定义对象 类的半生对象object bansheng{ def main(args: Array[String]): Unit = { val ...原创 2020-06-29 14:23:56 · 315 阅读 · 0 评论 -
Scala基础——映射、折叠、化简、扫描等
/*集合中的元素与函数间的映射 * Map * 对集合中的每一个元素遍历使用该函数对其进行操作,即将集合中的每一个元素映射到某一个函数 * 如转换大小写,将list1中的每个元素都在函数中进行大小写转换 * map(f),输出为List(ALICE, HAHA, BOB) * */ //转换大小写 val list1=List("Alice","Haha","Bob") //1 val list2=list1.map(x=&...原创 2020-06-29 10:01:41 · 230 阅读 · 0 评论 -
scala中ArrayBuffer
importscala.collection.mutable.ArrayBuffer/*** 与Array区别:* 1、Array是不可变的,不能直接地对其元素进行删除操作,只能通过重赋值或过滤生成新的Array的方式来删除不要的元素* 2、ArrayBuffer是可变的,提供了很多元素的操作,包括删除的操作* 他们相互转化很方便,调用toArray 、toBuffer方法即可*/objectArrayBufferUse {defma...原创 2020-06-19 10:50:25 · 734 阅读 · 0 评论 -
Scala基础-getOrElse()方法
getOrElse()主要就是防范措施,如果有值,那就可以得到这个值,如果没有就会得到一个默认值,个人认为早开发过程中用getOrElse()方法要比用get()方法安全得多。def getOrElse[B1 >: B](key: A, default: => B1): B1 = get(key) match { case Some(v) => v case None => default }从API中可以看出,传入的参数是(key,default)这种形式...原创 2020-06-17 18:58:46 · 685 阅读 · 0 评论 -
scala中伴生对象和伴生类
特征:一个单例对象未必是一个伴生对象,但是一个伴生对象一定是一个单例对象与类名相同并且用Object修饰的对象叫做伴生对象,同样类被称为是这个单例对象的伴生类,类和伴生对象之间可以互相访问对方的私有方法和属性注意:必须在同一个源文件里定义类和它的伴生对象。object Lover { private val ribs = "女人" def main(args: Array[String]): Unit = { var l = new Lover println(l....原创 2020-06-08 15:03:59 · 353 阅读 · 0 评论