scala中Array简单实用】的更多相关文章

/** * 在scala中数组的使用 * 和java很类似,初始化后,长度就固定了,而且元素全部根据其类型初始化 * */ object arrayUse { def main(args: Array[String]): Unit = { val a = new Array[Int](9) a(0) = 1 // 数组元素的赋值 println(a(0)) // 1 // 未赋值的元素访问 println(a(1)) // 0 // 也可以使用如下方法,不用关键字new来创建 val names…
尽管学了一段时间的Scala了,可是总认为基础不是太扎实,还有非常多的基础知识比較模糊.于是近期又打算又一次学习基础. Scala中的三种集合类型包含:Array,List,Tuple.那么究竟这三种有哪些异同呢?说实话,我之前一直没弄明确,所以今天特意花了点时间学习了一下. 同样点: 1.长度都是固定的,不可变长 2.早期的Scala版本号,Array.List都不能混合类型,仅仅有Tuple能够,2.8版本号以后,3者的元素都能够混合不同的类型(转化为Any类型) 不同点: 1.Array…
参考了这篇文章: https://my.oschina.net/u/1034176/blog/512314 1. 在Scala 2.7中,Array.List都不能混合类型,只有Tuple可以:而在Scala以上版本中,3者的元素都可以混合不同的类型(转化为Any类型),只不过是当使用混合类型时,Array和List会将元素类型转化为Any类型,而Tuple则保留每一个元素的初始类型. 2. 可变性 3. 关于初始化 Array 1) val array= new Array[String](3…
/** * Tuple简单使用记录 * 最大22个参数 */ object TupleUse { def main(args: Array[String]): Unit = { // 简单Tuple val t = ("yxj", 30) // Tuple2 println(t._1) // 访问Tuple中的数据,从1开始,带上下划线 println(t._2) val student = new Tuple3(1, "yxj", 30) // Tuple3 pr…
trait Log { def log(message:String) = println("log:" + message) } /** * 为实例混入trait * */ trait Logs{ def log(message:String){} } trait MyLog extends Logs { override def log(message: String): Unit = { println("log:" + message) } } class…
import scala.collection.mutable.ArrayBuffer /** * 与Array区别: * 1.Array是不可变的,不能直接地对其元素进行删除操作,只能通过重赋值或过滤生成新的Array的方式来删除不要的元素 * 2.ArrayBuffer是可变的,提供了很多元素的操作,包括删除的操作 * 他们相互转化很方便,调用toArray .toBuffer方法即可 */ object ArrayBufferUse { def main(args: Array[Strin…
object funcHighLevel { def main(args: Array[String]): Unit = { // 创建一个匿名函数 val sayFunc = (name: String) => println("hello ," + name) // 定义一个方法传入一个函数 def greeting(func: (String) => Unit, names: String) { func(names) } // 在定义一个 name,age是参数 v…
下面,就让小博详细介绍如何实现上面GIF实现的banner图中的文字动画效果,最简单实用的方法(鉴于代码量较小,就内嵌在一个HTML文件中了): 首先,我们要在header导入一个jQuery,并新建一个CSS标签,在body部分建立一个外层的div,取一个ID,里面再建立一个内层的div,取一个ID,内层div里,新建一个h1标签和一个p标签,将您显示的文字放到里面,示例代码如下: <div id="table"> <div id="centeralign…
C#反射实现   一.反射概念: 1.概念: 反射,通俗的讲就是我们在只知道一个对象的内部而不了解内部结构的情况下,通过反射这个技术可以使我们明确这个对象的内部实现. 在.NET中,反射是重要的机制,它可以动态的分析程序集Assembly,模块Module,类型Type等等,我们在不需要使用new关键的情况下,就可以动态 创建对象,使用对象.降低代码耦合性提高了程序的灵活性.那么,反射是怎么实现的呢?它的内部实现依赖于元数据.元数据,简单来说,在 公共语言运行时CLR中,是一种二进制信息,用来描…
object Closure { /** * scala中的闭包 * 函数在变量不处于其有效作用域内,还能够对变量进行访问 * * @param args */ def main(args: Array[String]): Unit = { def getHelloFunc(msg:String) = (name:String) => println(msg + "," + name) val sayHello = getHelloFunc("hello")…