当前位置: 首页 > news >正文

做文案策划需要知道些什么网站/网络软文营销的案例

做文案策划需要知道些什么网站,网络软文营销的案例,咨询公司名字大全,asp.net web网站文章目录scala集合基本介绍定长数组变长数组定长数组与变长数组转换多维数组定义和使用scala数组和javaList的转换元组Tuplescala集合基本介绍 1)Scala同时支持不可变集合和可变集合,不可变集合可以安全的并发访问 不可变集合包:scala.colle…

文章目录

  • scala集合基本介绍
  • 定长数组
  • 变长数组
  • 定长数组与变长数组转换
  • 多维数组定义和使用
  • scala数组和javaList的转换
  • 元组Tuple

scala集合基本介绍

1)Scala同时支持不可变集合和可变集合,不可变集合可以安全的并发访问
不可变集合包:scala.collection.immutable
可变集合包:scala.collection.mutable
2)对于几乎所有的集合类,Scala都提供了可变和不可变两种版本,Scala默认采用不可变集合
3)Scala集合有三大类:序列 Seq(有序的)、集Set、映射 Map。所有的集合都扩展自Iterable特质
4)不可变集合:scala中的不可变集合就是这个集合本身不能动态变化,类似java中的数组 长度不能动态增加
5)可变集合:就是这个集合本身可以动态变化,类似 java中的 ArrayList
不可变集合类图
在这里插入图片描述

总结
1)Set Map 是Java中也有的集合
2)Seq是java中没有的,Scala中List 被归到了Seq下,因此和java中的list 不同
3)String 也属于IndexedSeq
4)经典数据结构Queue Stack 被归属到 LinearSeq
5)Scala集合中 有个 sortedMap 说明 scala中的map支持排序
6)indexedSeq 和LinearSeq的区别是通过所以来查找和定位,因此速度快(String 就是一个索引集合),LinearSeq是线性的,这种数据结构一般通过遍历来查找

可变集合类图
在这里插入图片描述

总结
1)可变集合比不可变集合更加丰富
2)Seq集合中增加了Buffer集合
3)如果涉及到线程安全可以使用 syn开头的集合

定长数组

这里的数组等同于java中的数组,中括号中的类型就是数组元素的类型

def test(): Unit ={//var  ar = new Array(20);//不使用泛型  的话 元素必须是 nothing相当于集合没啥用//1)创建int数组 长度为10,在没有赋值情况下各个元素都为0,如果想让数组可以存放任意类型元素将泛型设置为Anyvar arr = new Array[Int](10)arr(1)=10;println(arr.length)//10println(arr(0))for(i <-arr){println(i)}//第二中创建方式var arr2 = Array(1,2,"sdf")arr2(1)="hah"//采用下标遍历for(index <- 0 until arr2.length){println(arr2(index))}}

变长数组

1)ArrayBuffer 是变长数组,类似java的ArrayList
2)每append一次arr在底层就会重新分配空间,进行扩容,arr的内存地址会繁盛变化(是一个新的对象)
操作示例:

  def test(): Unit ={import collection.mutable.ArrayBuffervar arr01= ArrayBuffer[Any](3,2,4)//访问查询println(arr01(1))//遍历for(i<-arr01){println(i)}//修改插入值//使用 append 追加数据,append支持可变参数 添加元素后 arr01 的hashcode 发生变化 数组进行了扩容println("hash="+arr01.hashCode())arr01.append(10,23)println("hash="+arr01.hashCode())println("=============")arr01(1)=99for(i<-arr01){println(i)}println("=============")//删除元素 根据下标来删除arr01.remove(0)println("数组长度:"+arr01.length)for(i<-arr01){println(i)}}

定长数组与变长数组转换

在开发中,我们肯恩更实用对定长数组和变长数据进行转换
arr1.toBuffer 定长数组转变长数组 返回结果才是一个变长数组,原数组不会发生改变
arr2.toArray 变长数组转定长数组 返回结果才是一个变长数组,原数组不会发生改变
示例代码

    def test(): Unit ={import collection.mutable.ArrayBuffervar arr1=ArrayBuffer[Int]()arr1.append(12,13,14)println(arr1)var arr2 = arr1.toArray //该方法根据ArrayBuffer 生成一个新的 Array arr2 原数组 arr1 不发生变化println(arr2)// arr2 的 toBuffer 方法 生成一个新的 变长数组 并将元素都添加进去,原数组arr2不发生任何改变var arr3 = arr2.toBufferarr3.append(4)println(arr3)}

多维数组定义和使用

示例代码

    def test(): Unit ={//定义一个二维数组 里边包含三个一维数组,一维数组的长度都是4var arr= Array.ofDim[Int](3,4)//遍历for(item<-arr){for(item2<-item){println(item2)}}//设置值arr(1)(1)=100//取出 指定位置的值println(arr(1)(1))//下标方式遍历for(i<- 0 to arr.length-1){for(item<- 0 to arr(i).length-1){println("坐标【"+i+"】【"+item+"】的取值:"+arr(i)(item))}}}

scala数组和javaList的转换

 def test(): Unit ={//数组转 javaListimport collection.mutable.ArrayBuffervar arr = ArrayBuffer("1","3","3")import collection.JavaConversions.bufferAsJavaListval javaArr = new ProcessBuilder(arr)//arrList 就是java中的Listvar arrList = javaArr.command()arrList.add("java")println(arrList)//javaList转 scala数组import collection.JavaConversions.asScalaBufferimport collection.mutableval scalaArr:mutable.Buffer[String] = arrListscalaArr.append("scala")println(scalaArr)}

元组Tuple

元组可以理解为一个容器,可以存放各种相同或不同类型的数据
简单理解 元组将多个无关的数据封装为一个整体,特点是 灵活对数据没有太多约束
元组总最多只能有22个元素
元组定义
代码示例:
//为了高效操作元组,编译器根据元素个数的不同,将元组分为不同的元组类型,
//从 Tuple1(包含一个元素的元组)、 Tuple2 一直到 Tuple22(包含22个元素的元组)
//如下定义了一个元组 tuple1 包含五个元素, 因此tuple1类型是 Tuple5
var tuple1 = (1,2,3,4,“5”)
元组数据的访问及遍历
访问元组的数据,可以采用顺序号(_顺序号) ,也可以通过索引
组的遍历需要使用迭代器
示例

  def test(): Unit ={var tuple1 = (1,2,3,4,"5")println(tuple1._1)// 访问元组 tuple1 的第一个元素,序号从1 开始println(tuple1.productElement(0))//访问元组的第一个元素 从 0 开始//元组的遍历  元组的遍历需要使用迭代器for(item <-tuple1.productIterator){println("item:"+item);}}
http://www.jmfq.cn/news/4839499.html

相关文章:

  • 腾讯云怎么做网站/线上渠道推广怎么做
  • 网络工程师干嘛的/信息流优化师是什么
  • 建立企业网站的意义/汕头seo推广优化
  • 菏泽市建设信息网/天津seo博客
  • 郑州品牌网站建设官网/我是新手如何做电商
  • 做网站创新互联/太原搜索排名提升
  • 对网站访客做简要分析/seo优化顾问
  • wordpress自豪的采用/关键词优化seo费用
  • 黄石做网站/成都高端品牌网站建设
  • 织梦教育网站模板/郑州网络推广平台
  • 天津网站建设学习/网店推广营销方案
  • 动态网站建设与管理课程设计报告/百度一下百度搜索官网
  • vi设计公司 北京/手机网站关键词seo
  • 赣州营销公司/seo关键词怎么选择
  • 英文wordpress建站/网站关键词怎么写
  • 英文网站建设 济南/网络推广途径
  • 如何做正版小说网站/第一营销网
  • 河南手机网站建设多少钱/百度关键词优化教程
  • 专业做seo的网站/最好用的搜索引擎
  • 俄罗斯服务器网站/免费b站推广软件
  • 公司网站改版需要怎么做/国外b站浏览器
  • 设计公司网站案例/优惠活动推广文案
  • 公司网站备案怎么做/账户竞价托管哪里好
  • 安徽网站建设推荐 晨飞网络/seo流量是什么意思
  • 代理分销系统开发/广东seo外包服务
  • 石家庄最新疫情最新消息解封/seo积分优化
  • wordpress自定义文章列表/海城seo网站排名优化推广
  • 重庆网站备案必须到核验点/百度统计工具
  • 做个网站多少钱一个月/福州seo公司
  • 做暧嗳xo小视频免费网站/今日桂林头条新闻