代理ip注册网站都通不过网站建设返回函数

news/2025/9/26 4:15:30/文章来源:
代理ip注册网站都通不过,网站建设返回函数,建设工程教育网 官网,天津seo公司网站Scala 集合 概述 集合本质上就是一个用于存储1个到多个数据的容器。在Scala中#xff0c;集合可以分为三大类#xff1a;Seq(序列)#xff0c;Set(集合)和Map(映射)。基于这三大类#xff0c;衍生出来众多的子类 序列#xff1a;元素有序可重复 集合#xff1a;元素无…Scala 集合 概述 集合本质上就是一个用于存储1个到多个数据的容器。在Scala中集合可以分为三大类Seq(序列)Set(集合)和Map(映射)。基于这三大类衍生出来众多的子类 序列元素有序可重复 集合元素无序不可重复 映射键值对结构数据 在Scala中所有的集合都混入了Iterable特质意味着所有的集合都可以被迭代遍历 Scala中的集合分为可变集合(scala.collection.mutable)和不可变集合(scala.collection.immutable) 所谓的不可变集合指的是集合被创建好之后长度不可变且其中的元素也不能改变。如果对不可变集合中的元素进行增删操作那么不会改变原集合而是会产生一个新的集合 所谓的可变集合指的是集合创建好之后依然可以对元素进行增删操作并且不会产生新集合而是修改原集合 数组 不可变数组(Array) 不可变数组定义好之后长度不能发生变化元素也不能增删如果增删元素那么会产生一个新的数组 定义方式 package com.fesco.array ​ object ArrayDemo { ​def main(args: Array[String]): Unit { ​// 不可变数组定义方式 ​// 方式一val 数组名:Array[元素类型] new Array[元素类型](数组长度)// 数组定义好之后每一个位置都会有默认值val arr: Array[Int] new Array[Int](5)arr(0) 3// 将数组转化为字符串println(arr.mkString(,)) ​// 方式二// int[] arr new int[]{3,4,1,4,5}val arr2: Array[Int] Array(3, 1, 7, 8, 4)println(arr2.mkString(,)) ​} ​ } 应用一 package com.fesco.array ​ object ArrayDemo2 { ​def main(args: Array[String]): Unit { ​// 不可变数组定义好之后长度不可变val arr Array(2, 4, 8, 7, 1, 5, 6) ​// 应用一修改数组中元素的值// 方式一数组名(下标) 数据arr(3) 4// 方式二提供了update方法来修改元素数据arr.update(2, 5) ​// 应用二遍历数组// 方式一转化为字符串val str arr.mkString(, )println(str)// 方式二通过下标来遍历for (i - 0 until arr.length) println(arr(i))// 方式三增强for循环// 增强for循环本质上就是在对元素进行迭代遍历for (i - arr) println(i)// 方式四迭代遍历val it arr.iteratorwhile (it.hasNext) println(it.next())// 方式五foreach方法arr.foreach(x println(x))// 顺次使用参数并且参数只使用了一次arr.foreach(println(_))// println(3,5, (x, y) x y)// println(3,5, _ _ )// 函数体只有一句并且使用了已经存在函数且参数是一一对应那么此时参数列表可以省略arr.foreach(println) ​ ​} ​ } 应用二 package com.fesco.array ​ object ArrayDemo3 { ​def main(args: Array[String]): Unit { ​val arr Array(2, 4, 8, 7, 1, 5, 6) ​// 应用三数组扩容// Array类中提供了:和:的方式来对数组进行扩容本质上都是产生一个新的数组// : 在数组的末尾来新添元素构成一个新的数组val r1 arr : 3println(r1.mkString(, ))// : 在数组的头部来新添元素构成一个新的数组val r2 arr.:(3)println(r2.mkString(, ))val r3 3 : arrprintln(r3.mkString(, ))val r4 4 : arr : 3println(r4.mkString(, )) ​// 应用四数组合并val nums1 Array(1, 2, 3, 4, 5)val nums2 Array(6, 7, 8, 9)// 方式一通过合并val v1 nums1 nums2println(v1.mkString(, ))// 方式二 : 或者 :// :等价于val v2 nums1 : nums2println(v2.mkString(, ))val v3 nums1 : nums2println(v3.mkString(, ))// 方式三concat函数val v4 nums1.concat(nums2)println(v4.mkString(, )) ​} ​ } 应用三 package com.fesco.array ​ object ArrayDemo4 { ​def main(args: Array[String]): Unit { ​// 应用五创建连续范围的数组val r1 Array.range(1, 5)println(r1.mkString(, ))val r2 Array.range(0, 10, 2)println(r2.mkString(, )) ​// 应用六用指定数据来填充数组// 创建数组数组的所有元素默认为10// 第一个()表示数组长度// 第二个()表示填充的元素val v1 Array.fill(5)(10)println(v1.mkString(, ))// 填充由100以内的随机数构成的长度为7的数组val v2 Array.fill(7)((Math.random() * 100).toInt)println(v2.mkString(, ))// ({})可以选择省略()或者{}val v3 Array.fill(7) {(Math.random() * 100).toInt}println(v3.mkString(, )) ​// 应用七数组翻转val v4 v3.reverseprintln(v4.mkString(, )) ​} ​ } 练习猴子报数。15只猴子围成一圈报数报到数字7的猴子被淘汰下一只猴子从1重新报数最后剩余的是哪只猴子 package com.fesco.array ​ object MonkeyExec { ​def main(args: Array[String]): Unit { ​// 定义数组表示15只猴子// 用true表示猴子的还活着用false表示猴子被淘汰val monkeys Array.fill(15)(true)// 定义变量来记录还剩余的猴子数量var n 15// 定义变量来记录报数var i 1// 定义变量来记录下标var index 0// 只要剩余的猴子数量1那么就需要继续报数while (n 1) {// 先判断这只猴子是否存活if (monkeys(index)) {// 判断这只猴子是否会被淘汰if (i 7) {// 这只猴子被淘汰monkeys(index) false// 剩余猴子数量-1n - 1// 下一只猴子重新报数i 0}// 报数1i 1}// 下一只猴子准备index 1if (index monkeys.length) index 0}println(monkeys.mkString(, ))} ​ } 可变数组(ArrayBuffer) 可变数组类似于Java中的ArrayList长度可以发生变化并且可以对数组中的元素来进行增删 定义格式 package com.fesco.array ​ import scala.collection.mutable.ArrayBuffer ​ object ArrayBufferDemo { ​def main(args: Array[String]): Unit { ​// 定义方式// 方式一创建了可变数组初始大小为0val r1 new ArrayBuffer[Int]r1.(5)r1 3println(r1)// 方式二创建可变数组指定初始大小val r2 new ArrayBuffer[Int](3)r2 4r2 2r2 5r2 7println(r2)// 方式三创建可变数组传入初始元素val r3 ArrayBuffer[Int](2, 7, 8, 9, 1)println(r3) ​} ​ } 基本操作 package com.fesco.array ​ import scala.collection.mutable.ArrayBuffer ​ object ArrayBufferDemo2 { ​def main(args: Array[String]): Unit { ​val arr ArrayBuffer[Int](3, 4, 5, 6, 7) ​// 在末尾添加元素arr.(8)arr 9arr.append(10)println(arr)// 在头部添加元素arr.prepend(2)println(arr)1 : arrprintln(arr)// 插入元素arr.insert(2, 11)println(arr)// 修改元素arr(0) 0println(arr)arr.update(1, 3)println(arr)// 删除指定下标上的元素arr.remove(0)println(arr)// 删除元素3// 删除指定的元素(第一次出现)arr - 3println(arr)// 遍历arr.foreach(println) ​} ​ } 转换 package com.fesco.array ​ import scala.collection.mutable.ArrayBuffer ​ object ArrayTransformDemo { ​def main(args: Array[String]): Unit { ​// 可变数组 - 不可变数组val arrBuffer ArrayBuffer[Int](2, 3, 4, 5)val arr arrBuffer.toArrayprintln(arr) ​// 不可变数组 - 可变数组val array Array[Int](1, 2, 3, 4, 5)val buffer array.toBufferprintln(buffer) ​} ​ } 多维数组 定义格式 package com.fesco.array ​ object DimensionDemo { ​def main(args: Array[String]): Unit { ​// 定义格式 ​// 方式一// 定义二维数组r1包含了3个一维数组每一个一维数组的大小是不确定的val r1: Array[Array[Int]] new Array[Array[Int]](3)r1(0) new Array[Int](5)r1(1) Array[Int](1, 2, 3, 4) ​// 方式二// 定义二维数组r2包含了2个一维数组val r2 Array(Array(1, 2, 3), Array(1, 3, 4, 6))println(r2(0)(1)) ​// 方式三// 通过ofDim函数来构建二维数组// 定义二维数组r3包含了3个一维数组每一个一维数组包含了5个元素val r3 Array.ofDim[Int](3, 5)r3(0)(0) 3println(r3(0)(0)) ​// 一维数组可以包含4个整数val r4 Array.ofDim[Int](4)// 三维数组包含了4个二维数组每一个二维数组中包含了3个一维数组每一个一维数组可以包含5个整数var r5 Array.ofDim[Int](4, 3, 5)// 四维数组包含了3个三维数组每一个三维数组中包含了4个二维数组每一个二维数组中包含了5个一维数组每一个一维数组可以有2个整数var r5 Array.ofDim[Int](3, 4, 5, 2) ​} ​ } 如果每一个一维数组等大那么推荐使用第三种方式如果包含的一维数组不等大使用方式一如果已知元素那么使用方式二 ofDim支持多维数组一维~五维数组。Scala中不推荐超过5维的数组 练习输入一个数字n表示行数输出杨辉三角的前n行 package com.fesco.array ​ import scala.io.StdIn ​ object DimensionExec { ​def main(args: Array[String]): Unit { ​/*11 11 2 11 3 3 11 4 6 4 1...*/// 获取整数nval n StdIn.readInt()// 定义二维数组val arr new Array[Array[Int]](n)// 遍历数组for (i - 0 until n) {// 初始化第i行一维数组arr(i) new Array[Int](i 1)// 填充元素for (j - 0 to i) {// 每一行第一个或者最后一个元素是1if (j 0 || j i) arr(i)(j) 1else arr(i)(j) arr(i - 1)(j) arr(i - 1)(j - 1)}println(arr(i).mkString(\t))} ​} ​ } 列表 不可变列表(List) 在Scala中通过List来定义不可变列表需要注意的是List本身是一个抽象类所以并不能直接使用List来构建对象需要使用它的伴生对象来构建 package com.fesco.list ​ import scala.:: ​ object ListDemo { ​def main(args: Array[String]): Unit { ​// 方式一val list List[Int](2, 3, 4, 5, 6)println(list)val list2 List.apply(2, 3, 4, 5, 6)println(list2) ​// 方式二// :: 在list之前来追加数据val list3 1 :: listprintln(list3) ​// 方式三// Nil是List的子类表示一个空列表val list4 Nilprintln(list4) ​// 方式四val list5 1 :: 2 :: 3 :: 4 :: Nilprintln(list5)} ​ } List被sealed修饰说明List是一个密封类那么就意味着List的子类必须和List处在同一个scala文件中即List无法直接扩展 基本操作 package com.fesco.list ​ object ListDemo2 { ​def main(args: Array[String]): Unit { ​val list List[Int](3, 4, 8, 1, 5, 9, 7) ​// 获取指定下标位置上的元素// 底层实际上是调用了父特质LinearSeq中的apply函数println(list(2))// 等价于println(list.apply(2))// 获取第一个元素// println(list(0))// 等价于println(list.head)// 获取最后一个元素println(list.last)// 追加一个元素 - 产生一个新的列表// val r1 list : 6val r1 list.:(6)println(r1)// 在头部追加元素// 从右向左计算val r2 1 : list// val r2 list.:(1)// 当出现:的时候:对着谁就从谁开始计算// 如果两边都有:那么从右向左计算// 错误的写法list : 1println(r2)// 或者// val r3 list.::(1)val r3 1 :: list// list :: 1println(r3)// 构建了列表// 从右到左先构建空列表List()然后头部拆入5在插入4val r4 1 :: 2 :: 3 :: 4 :: 5 :: List()// 等价于val r5 1 :: 2 :: 3 :: 4 :: 5 :: Nilprintln(r4)println(r5) ​} ​ } 列表的合并 package com.fesco.list ​ object ListDemo3 { ​def main(args: Array[String]): Unit { ​val list1 List[Int](1, 2, 3, 4)val list2 List[Int](5, 6, 7, 8) ​// 合并列表val r1 list1 list2println(r1)val r2 list1 : list2println(r2)val r3 list1 : list2println(r3)val r4 list1.concat(list2)println(r4)val r5 list1 ::: list2println(r5) ​} ​ } 可变列表(ListBuffer) Scala中通过ListBuffer来定义可变列表 package com.fesco.list ​ import scala.collection.mutable.ListBuffer ​ object ListBufferDemo { ​def main(args: Array[String]): Unit { ​// 方式一// 调用ListBuffer类的主构造器val buffer1 new ListBuffer[Int]()buffer1 4println(buffer1)// 方式二// 调用了ListBuffer伴生对象中的apply函数val buffer2 ListBuffer[Int](1, 2, 3, 4, 5)println(buffer2) ​} ​ } 基本操作 package com.fesco.list ​ import scala.collection.mutable.ListBuffer ​ object ListBufferDemo2 { ​def main(args: Array[String]): Unit { ​val list ListBuffer[Int](1, 2, 3, 4, 5) ​// 在尾部追加元素list 4list append 7println(list)// 在头部插入元素list prepend 0// list.:(2)2 : listprintln(list)// 在指定下标位置上插入元素list.insert(3, 6)println(list)// 修改指定位置上的元素list(2) 10list.update(3, 12)println(list)// 删除指定下标位置上的元素list.remove(0)println(list)// 删除指定的元素(第一个)list - 3println(list) ​} ​ } 合并列表 package com.fesco.list ​ import scala.collection.mutable.ListBuffer ​ object ListBufferDemo3 { ​def main(args: Array[String]): Unit { ​val list1 ListBuffer[Int](1, 2, 3)val list2 ListBuffer[Int](4, 5, 6) ​// 将list1和list2合并// 合并之后产生一个新的列表而不是修改原列表val r1 list1 list2println(r1)// 要求将list2中的数据合并到list1中list1 list2println(list1)// 获取list1中有而list3中没有的数据 - 差集val list3 ListBuffer[Int](1, 3, 5, 7)list1 -- list3println(list1) ​} ​ }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/917848.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

兰溪城市建设规划网站大有网网站

提示说没有.git这样一个目录 在命令行 输入 git init 然后回车就好了 git remote add origin https:/.git git push -u origin "master"

怎样制作自己网站模板手机网站建设

本文以MATLAB自带的脂肪数据集为例,将数据保存在EXCEL工作簿内,方便替换数据使用,以下介绍粒子群算法优化BP神经网络预测的MATLAB代码编写,主要流程包括1. 读取数据 2.划分训练集和测试集 3.归一化 4.确定BP神经网络的隐含层最优节点数量 5. 使用粒子群算法优化BP的神经网络…

建设信用卡网站换积分高中信息技术课程做网站

1.路劲处理模块 path 1.1 模块概览 在nodejs中,path是个使用频率很高,但却让人又爱又恨的模块。部分因为文档说的不够清晰,部分因为接口的平台差异性。将path的接口按照用途归类,仔细琢磨琢磨,也就没那么费解了。 1.…

云南省建设工程投标中心网站瑞安app开发

个人主页 : 个人主页 个人专栏 : 《数据结构》 《C语言》 文章目录 前言一、栈的实现思路1. 结构的定义2. 初始化栈(StackInit)3. 入栈(StackPush)4. 出栈(StackPop)5. 获取栈顶元素(StackTop)6. 检查栈是否为空(StackEmpty)7. 销毁栈(StackDestroy) 二、…

青岛品牌网站制作旅游网站总结

0.实现效果 效果不咋好 ,参数不好调整 1.算法原理 3D NDT(Normal Distributions Transform)算法是一种用于同时定位和地图生成(SLAM)的机器人导航算法,特别适用于三维点云数据的配准。以下是关于3D NDT算法的详细解释: 算法原理 点云划分与分布计算:3D NDT算法首先将…

凡科建站seo那个网站教人做冰点

原型&#xff1a;extern char *strstr(const char *str1, const char *str2); 需要包含的头文件&#xff1a;#include <string.h> 作用&#xff1a;用于判断字符串str2在字符串str1中第一次出现的位置。如果没有找到则返回NULL&#xff0c;找到了则返回str1中的位置。 …

seo网站推广经理公司主营业务网站建设

CheckiO 是面向初学者和高级程序员的编码游戏&#xff0c;使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务&#xff0c;从而提高你的编码技能&#xff0c;本博客主要记录自己用 Python 在闯关时的做题思路和实现代码&#xff0c;同时也学习学习其他大神写的代码。 Chec…

西安网站优化服务西安建设工程信息网新平台

2.2.2 if 案例实践 学习目标 这一节&#xff0c;我们从 服务管理、堡垒机登录、小结 三个方面来学习。 服务管理 案例需求 要求脚本执行需要有参数&#xff0c;通过传入参数来实现不同的功能。参数和功能详情如下&#xff1a;参数 执行效果start 服务启动中...sto…

西安网站设计外包公司瑞安网站建设电话

标准类型内建函数&#xff1a;cmp(obj1, obj2) 比较obj1和obj2&#xff0c;根据比较结果返回整型i:i < 0 if obj1 < obj2i > 0 if obj1 > obj2i 0 if obj1 obj2repr(obj)或obj 返回一个对象的字符串表示str(obj) 返回对象适合可读性好的字符串表示type(obj) 得到…

# vite + vue3 实现打包后 dist 文件夹可以直接打开 html 文件预览

vite + vue3 实现打包后 dist 文件夹可以直接打开 html 文件预览 问题 为什么突然写这么一篇文章,首先,自己用vite+vue写了点静态页面,需要给客户看页面效果,但是我打包之后将 dist 发送给客户后,客户没有通过ngi…

Python 在人工智能与机器学习中的地位与实践

一、引言 🤖 人工智能(AI)和机器学习(ML)是当下科技发展的核心动力。从语音识别到图像分类,从推荐系统到自然语言处理,AI 正在不断改变人类的生产和生活方式。而在这一浪潮中,Python 已成为最主要的开发语言。…

怎样做彩票投资网站国外刺绣图案设计网站

一、介绍 Portainer是Docker的图形化管理工具&#xff0c;提供状态显示面板、应用模板快速部署、容器镜像网络数据卷的基本操作&#xff08;包括上传下载镜像&#xff0c;创建容器等操作&#xff09;、事件日志显示、容器控制台操作、Swarm集群和服务等集中管理和操作、登录用…

订阅号怎么做微网站无忧网站模板

teger 基本数据类型int 的包装类 Integer 类型的对象包含一个 int 类型的字段 一、类定义 public final class Integer extends Number implements Comparable<Integer>{}类被声明为final的,表示不能被继承;继承了Number抽象类,可以用于数字类型的一系列转换;实现了Comp…

做塑料的网站名字万户建站

使用 Redis 可以优化性能&#xff0c;但是存在 Redis 的数据和数据库同步的问题&#xff0c;这是我们需要关注的问题。假设两个业务逻辑都是在操作数据库的同一条记录&#xff0c;而 Redis 和数据库不一致。 Redis 和数据库不一致 在图中&#xff0c;T1 时刻以键 key1 保存数…

seo三人行网站百度安装app下载免费

螺旋式开发并不是敏捷开发。虽然它们都是软件开发过程中的一种模型或方法&#xff0c;但两者在核心理念、实施方式和适用场景上存在显著差异。 螺旋式开发是一种结合了瀑布式开发和迭代式开发的软件开发过程。它强调风险分析和质量保证&#xff0c;在每个螺旋周期中都包括需求…

深圳骏域网站建设专家有一个做场景动画的网站

出现这个问题不是一次两次了&#xff0c;就是启动后&#xff0c;键盘所有按键&#xff0c;小红帽都不能用&#xff0c;必须重启好几次才能用。 有时候键盘能用&#xff0c;但是打开 dw ,复制不能用&#xff0c;真是懊恼。 今天又出现这个情况&#xff0c;我偶然想到是不是和昨天…

网站搭建的费用上海网站建设 普送

来源&#xff1a;集智俱乐部作者&#xff1a;Guillem Collell、Jordi Fauquet译者:张澳审校&#xff1a;刘培源编辑&#xff1a;邓一雪导语信息和能量之间的关系已经在物理学、化学和生物学中得到了广泛的研究。然而&#xff0c;这种联系并没有在神经科学领域形式化。2015年&am…

手机网站自助建设成都网站设计师

初级代码游戏的专栏介绍与文章目录-CSDN博客 初用Mac会有很多不习惯&#xff0c;特别是鼠标滚轮的滚动方向和windows是反的&#xff0c;还好是通过设置改变的。下面是我自己的设置。 目录 一、显示器设置 二、屏保、时钟、触发角 三、程序坞与菜单栏 四、安全性与隐私 五…

网站怎么上传到空间有多个网页的大网站如何做

Ryujinx/Ryujinx Stars: 26.1k License: MIT Ryujinx 是用 C# 编写的实验性任天堂 Switch 模拟器。 该项目旨在提供出色的准确性和性能、用户友好的界面以及稳定的构建。它已经通过了大约 4050 个测试&#xff0c;其中超过 4000 个可以启动并进入游戏&#xff0c;其中大约 340…