Scala数组常用函数(2)

news/2024/4/26 16:21:03/文章来源:https://blog.csdn.net/weixin_51981189/article/details/127623508

函数(1):Scala数组常用函数(1)_后季暖的博客-CSDN博客

目录

四十六.-def isTraversableAgain: Boolean 

四十七.-def iterator: collection.Iterator[T] 

四十八.-def last: T

四十九.-def lastIndexOf(elem: T): Int  

五十.-def lastIndexOf(elem: T, end: Int): Int 

五十一.-def lastIndexOfSlice[B >: A](that: GenSeq[B]): Int 

五十二.-def lastIndexOfSlice[B >: A](that: GenSeq[B], end: Int): Int 

五十三.-def lastIndexWhere(p: (T) ⇒ Boolean): Int 

五十四.-def lastOption: Option[T] 

五十五.-def length: Int 

-def size: Int 

五十六.-def lengthCompare(len: Int): Int

五十七.-def max: A 

五十八.-def minBy[B](f: (A) ⇒ B): A 

-def maxBy[B](f: (A) ⇒ B): A 

五十九.-def nonEmpty: Boolean 

六十.-def padTo(len: Int, elem: A): Array[A] 

六十一.-def par: ParArray[T] 

六十二.-def partition(p: (T) ⇒ Boolean): (Array[T], Array[T]) 

六十三.-def patch(from: Int, that: GenSeq[A], replaced: Int): Array[A]  

六十四.-def permutations: collection.Iterator[Array[T]]

六十五.-def prefixLength(p: (T) ⇒ Boolean): Int 

六十六.-def product: A 

六十七.-def reduce[A1 >: A](op: (A1, A1) ⇒ A1): A1 

六十七.-def reduceLeft[B >: A](op: (B, T) ⇒ B): B 

-def reduceRight[B >: A](op: (T, B) ⇒ B): B 

-def reduceLeftOption[B >: A](op: (B, T) ⇒ B): Option[B] 

-def reduceRightOption[B >: A](op: (T, B) ⇒ B): Option[B] 

六十八.-def reverse: Array[T] 

六十九.-def reverseIterator: collection.Iterator[T] 

七十.-def reverseMap[B](f: (A) ⇒ B): Array[B] 

七十一.-def sameElements(that: GenIterable[A]): Boolean 

七十二.-def scan[B >: A, That](z: B)(op: (B, B) ⇒ B)(implicit cbf: CanBuildFrom[Array[T], B, That]): That 

-def scanLeft[B, That](z: B)(op: (B, T) ⇒ B)(implicit bf: CanBuildFrom[Array[T], B, That]): That 

-def scanRight[B, That](z: B)(op: (T, B) ⇒ B)(implicit bf: CanBuildFrom[Array[T], B, That]): That 

七十三.-def segmentLength(p: (T) ⇒ Boolean, from: Int): Int 

七十四.-def seq: collection.mutable.IndexedSeq[T] 

七十五.-def slice(from: Int, until: Int): Array[T] 

七十六.-def sliding(size: Int): collection.Iterator[Array[T]] 

-def sliding(size: Int, step: Int): collection.Iterator[Array[T]] 

七十七.-def sortBy[B](f: (T) ⇒ B)(implicit ord: math.Ordering[B]): Array[T] 

七十八.-def sortWith(lt: (T, T) ⇒ Boolean): Array[T] 

七十九.-def sorted[B >: A](implicit ord: math.Ordering[B]): Array[T] 

八十.-def span(p: (T) ⇒ Boolean): (Array[T], Array[T]) 

八十一.-def splitAt(n: Int): (Array[T], Array[T]) 

八十二.-def startsWith[B](that: GenSeq[B], offset: Int): Boolean

-def startsWith[B](that: GenSeq[B]): Boolean 

八十三.-def subSequence(start: Int, end: Int): CharSequence

八十四.-def sum: A 

八十五.-def tail: Array[T] 

八十六.-def take(n: Int): Array[T] 

八十七.-def takeRight(n: Int): Array[T] 

八十八.-def takeWhile(p: (T) ⇒ Boolean): Array[T] 

八十九.转换函数

-def toArray: Array[A] 

-def toBuffer[A1 >: A]: Buffer[A1] 

-def toIndexedSeq: collection.immutable.IndexedSeq[T] 

-def toIterable: collection.Iterable[T]

-def toIterator: collection.Iterator[T] 

-def toList: List[T] 

-def toMap[T, U]: Map[T, U] 

-def toSeq: collection.Seq[T] 

-def toSet[B >: A]: Set[B] 

-def toStream: collection.immutable.Stream[T] 

-def toVector: Vector[T] 

九十.-def transpose[U](implicit asArray: (T) ⇒ Array[U]): Array[Array[U]] 

九十一.-def union(that: collection.Seq[T]): Array[T]

九十二.-def unzip[T1, T2](implicit asPair: (T) ⇒ (T1, T2), ct1: ClassTag[T1], ct2: ClassTag[T2]): (Array[T1], Array[T2]) 

-def unzip3[T1, T2, T3](implicit asTriple: (T) ⇒ (T1, T2, T3), ct1: ClassTag[T1], ct2: ClassTag[T2], ct3: ClassTag[T3]): (Array[T1], Array[T2], Array[T3])

九十三.-def update(i: Int, x: T): Unit 

九十四.-def view(from: Int, until: Int): IndexedSeqView[T, Array[T]] 

九十五.-def withFilter(p: (T) ⇒ Boolean): FilterMonadic[T, Array[T]]

九十六.-def zip[B](that: GenIterable[B]): Array[(A, B)] 

九十七.-def zipAll[B](that: collection.Iterable[B], thisElem: A, thatElem: B): Array[(A, B)] 

九十八.-def zipWithIndex: Array[(A, Int)] 


四十六.-def isTraversableAgain: Boolean 

判断序列是否可以反复遍历,该方法是GenTraversableOnce中的方法,对于 Traversables 一般返回true,对于 Iterators 返回 false,除非被复写

四十七.-def iterator: collection.Iterator[T] 

对序列中的每个元素产生一个 iterator 该迭代器只能迭代一次 下一次需要重新定义迭代器

四十八.-def last: T

取得序列中最后一个元素

四十九.-def lastIndexOf(elem: T): Int  

取得序列中最后一个等于 elem 的元素的位置

五十.-def lastIndexOf(elem: T, end: Int): Int 

取得序列中最后一个等于 elem 的元素的位置,可以指定在 end 之前(包括)的元素中查找

前面的indexOf方法 两个参数 第二参数是从哪开始找 和这边不一样!

五十一.-def lastIndexOfSlice[B >: A](that: GenSeq[B]): Int 

判断当前序列中是否包含序列 that,并返回最后一次出现该序列的位置处的索引

    val a = Array(1, 4, 2, 3, 4, 5, 1, 4)val b = Array(1, 4)println(a.lastIndexOfSlice(b))  // return  6

五十二.-def lastIndexOfSlice[B >: A](that: GenSeq[B], end: Int): Int 

    val a = Array(1, 4, 2, 3, 4, 5, 1, 4)val b = Array(1, 4)println(a.lastIndexOfSlice(b,4))    // return  0

五十三.-def lastIndexWhere(p: (T) ⇒ Boolean): Int 

返回当前序列中最后一个满足条件 p 的元素的索引

    val a = Array(1, 4, 2, 3, 4, 5, 1, 4)val b = Array(1, 4)println(a.lastIndexWhere( {x:Int => x<2}))  // return  6

五十四.-def lastOption: Option[T] 

返回当前序列中最后一个对象

五十五.-def length: Int 

-def size: Int 

都是返回长度

五十六.-def lengthCompare(len: Int): Int

就是返回两个序列长度的差值 如果小于括号里的序列则返回负数

五十七.-def max: A 

返回序列中最大的元素

五十八.-def minBy[B](f: (A) ⇒ B): A 

-def maxBy[B](f: (A) ⇒ B): A 

找出符合条件的集合中的最大值和最小值

val map = Map[String,Int]("a"->10, "b"->99 , "c"->88)
// map默认按照key排序获取最大和最小数据
// 指定map排序  按照value排序 
map.maxBy(x=>x._2) //(b,99)
map.minBy(x=>x._2) //(a,10)

五十九.-def nonEmpty: Boolean 

判断序列不是空

六十.-def padTo(len: Int, elem: A): Array[A] 

后补齐序列,如果当前序列长度小于 len,那么新产生的序列长度是 len,多出的几个位值填充 elem,如果当前序列大于等于 len ,则返回当前序列

六十一.-def par: ParArray[T] 

返回一个并行实现,产生的并行序列,不能被修改

六十二.-def partition(p: (T) ⇒ Boolean): (Array[T], Array[T]) 

按条件将序列拆分成两个新的序列,满足条件的放到第一个序列中,其余的放到第二个序列

六十三.-def patch(from: Int, that: GenSeq[A], replaced: Int): Array[A]  

批量替换,从原序列的 from 处开始,后面的 replaced 数量个元素,将被替换成序列 that

    val a = Array(1, 2, 3, 4, 5)val b = Array(3, 4, 6)val c = a.patch(1,b,2)println(c.mkString(","))    // return 1,3,4,6,4,5/**从 a 的第二个元素开始,取两个元素,即 2和3 ,这两个元素被替换为 b的内容*/

六十四.-def permutations: collection.Iterator[Array[T]]

排列组合,他与combinations不同的是,组合中的内容可以相同,但是顺序不能相同,combinations不允许包含的内容相同,即使顺序不一样

    val a = Array(1, 2, 3, 4, 5)val b = a.permutations.toList   // b 中将有120个结果,知道排列组合公式的,应该不难理解吧/**如果是combinations*/val b = a.combinations(5).toList    // b 中只有一个,因为不管怎样排列,都是这5个数字组成,所以只能保留第一个

六十五.-def prefixLength(p: (T) ⇒ Boolean): Int 

给定一个条件 p,返回一个前置数列的长度,这个数列中的元素都满足 p 

六十六.-def product: A 

返回所有元素乘积的值

六十七.-def reduce[A1 >: A](op: (A1, A1) ⇒ A1): A1 

同 fold,不需要初始值

(1 to 9).reduceLeft( _ * _) //相当于1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 
(1 to 9).reduceLeft( _ + _) //相当于1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 
(1 to 9).reduce(_ + _) //默认是reduceLeft

六十七.-def reduceLeft[B >: A](op: (B, T) ⇒ B): B 

从左向右计算

-def reduceRight[B >: A](op: (T, B) ⇒ B): B 

从右向左计算

-def reduceLeftOption[B >: A](op: (B, T) ⇒ B): Option[B] 

计算Option,参考reduceLeft

-def reduceRightOption[B >: A](op: (T, B) ⇒ B): Option[B] 

计算Option,参考reduceRight

六十八.-def reverse: Array[T] 

反转序列

六十九.-def reverseIterator: collection.Iterator[T] 

反向生成迭代

七十.-def reverseMap[B](f: (A) ⇒ B): Array[B] 

同 map 方向相反

    val a = Array(1,2,3,4,5)val b = a.reverseMap( {x:Int => x*10} )println(b.mkString(","))    // 50,40,30,20,10

七十一.-def sameElements(that: GenIterable[A]): Boolean 

判断两个序列是否顺序和对应位置上的元素都一样

    val a = Array(1,2,3,4,5)val b = Array(1,2,3,4,5)println(a.sameElements(b))  // trueval c = Array(1,2,3,5,4)println(a.sameElements(c))  // false

七十二.-def scan[B >: A, That](z: B)(op: (B, B) ⇒ B)(implicit cbf: CanBuildFrom[Array[T], B, That]): That 

用法同 fold,scan会把每一步的计算结果放到一个新的集合中返回,而 fold 返回的是单一的值

    val a = Array(1,2,3,4,5)val b = a.scan(5)(seqno)println(b.mkString(","))    // 5,6,8,11,15,20

-def scanLeft[B, That](z: B)(op: (B, T) ⇒ B)(implicit bf: CanBuildFrom[Array[T], B, That]): That 

从左向右计算

-def scanRight[B, That](z: B)(op: (T, B) ⇒ B)(implicit bf: CanBuildFrom[Array[T], B, That]): That 

从右向左计算

七十三.-def segmentLength(p: (T) ⇒ Boolean, from: Int): Int 

从序列的 from 处开始向后查找,所有第一个满足 p 的条件的连续元素的长度

    val a = Array(1,2,3,1,1,1,1,1,4,5)val b = a.segmentLength( {x:Int => x < 3},3)        // 5

七十四.-def seq: collection.mutable.IndexedSeq[T] 

产生一个引用当前序列的 sequential 视图

七十五.-def slice(from: Int, until: Int): Array[T] 

取出当前序列中,from 到 until 之间的片段

    val a = Array(1,2,3,4,5)val b = a.slice(1,3)println(b.mkString(","))    // 2,3

七十六.-def sliding(size: Int): collection.Iterator[Array[T]] 

从第一个元素开始,每个元素和它后面的 size - 1 个元素组成一个数组,最终组成一个新的集合返回,当剩余元素不够 size 数,则停止(每次切三个)

    val a = Array(1,2,3,4,5)val b = a.sliding(3).toListfor(i<-0 to b.length - 1){val s = "第%d个:%s"println(s.format(i,b(i).mkString(",")))}/**第0个:1,2,3第1个:2,3,4第2个:3,4,5*/

-def sliding(size: Int, step: Int): collection.Iterator[Array[T]] 

从第一个元素开始,每个元素和它后面的 size - 1 个元素组成一个数组,最终组成一个新的集合返回,当剩余元素不够 size 数,则停止 
该方法,可以设置步进 step,第一个元素组合完后,下一个从 上一个元素位置+step后的位置处的元素开始

    val a = Array(1,2,3,4,5)val b = a.sliding(3,2).toList   //第一个从1开始, 第二个从3开始,因为步进是 2for(i<-0 to b.length - 1){val s = "第%d个:%s"println(s.format(i,b(i).mkString(",")))}/**第0个:1,2,3第1个:3,4,5*/

七十七.-def sortBy[B](f: (T) ⇒ B)(implicit ord: math.Ordering[B]): Array[T] 

按指定的排序规则排序

七十八.-def sortWith(lt: (T, T) ⇒ Boolean): Array[T] 

自定义排序方法 lt

    val a = Array(3,2,1,4,5)val b = a.sortWith(_.compareTo(_) > 0)  // 大数在前println(b.mkString(","))    // 5,4,3,2,1

七十九.-def sorted[B >: A](implicit ord: math.Ordering[B]): Array[T] 

使用默认的排序规则对序列排序

    val a = Array(3,2,1,4,5)val b = a.sorted    println(b.mkString(","))    // 1,2,3,4,5

八十.-def span(p: (T) ⇒ Boolean): (Array[T], Array[T]) 

分割序列为两个集合,从第一个元素开始,直到找到第一个不满足条件的元素止,之前的元素放到第一个集合,其它的放到第二个集合

和partition不一样 partition是每个元素都和条件比较 这个是从第一个开始比较 不满足就结束

八十一.-def splitAt(n: Int): (Array[T], Array[T]) 

从指定位置开始,把序列拆分成两个集合

八十二.-def startsWith[B](that: GenSeq[B], offset: Int): Boolean

从指定偏移处,是否以某个序列开始

-def startsWith[B](that: GenSeq[B]): Boolean 

八十三.-def subSequence(start: Int, end: Int): CharSequence

返回 start 和 end 间的字符序列 前闭后开

    val chars = Array('a','b','c','d')val b = chars.subSequence(1,3)println(b.toString)     //  bc

八十四.-def sum: A 

序列求和,元素需为Numeric[T]类型

    val a = Array(1,2,3,4,5)val b = a.sum       //  15

八十五.-def tail: Array[T] 

返回除了当前序列第一个元素的其它元素组成的序列

    val a = Array(1,2,3,4,5)val b = a.tail      //  2,3,4,5

八十六.-def take(n: Int): Array[T] 

返回当前序列中前 n 个元素组成的序列

八十七.-def takeRight(n: Int): Array[T] 

返回当前序列中,从右边开始,选择 n 个元素组成的序列

八十八.-def takeWhile(p: (T) ⇒ Boolean): Array[T] 

返回当前序列中,从第一个元素开始,满足条件的连续元素组成的序列

span是返回两个序列 这边是返回一个

八十九.转换函数

-def toArray: Array[A] 

转换成 Array 类型

-def toBuffer[A1 >: A]: Buffer[A1] 

转换成 Buffer 类型

-def toIndexedSeq: collection.immutable.IndexedSeq[T] 

转换成 IndexedSeq 类型

-def toIterable: collection.Iterable[T]

转换成可迭代的类型

-def toIterator: collection.Iterator[T] 

同 iterator 方法

-def toList: List[T] 

同 List 类型

-def toMap[T, U]: Map[T, U] 

同 Map 类型,需要被转化序列中包含的元素是Tuple2 类型数据

    val chars = Array(("a","b"),("c","d"),("e","f"))val b = chars.toMapprintln(b)      //Map(a -> b, c -> d, e -> f)

-def toSeq: collection.Seq[T] 

同 Seq 类型

-def toSet[B >: A]: Set[B] 

同 Set 类型

-def toStream: collection.immutable.Stream[T] 

同 Stream 类型

-def toVector: Vector[T] 

同 Vector 类型

九十.-def transpose[U](implicit asArray: (T) ⇒ Array[U]): Array[Array[U]] 

矩阵转换,二维数组行列转换

九十一.-def union(that: collection.Seq[T]): Array[T]

联合两个序列,同操作符 ++

九十二.-def unzip[T1, T2](implicit asPair: (T) ⇒ (T1, T2), ct1: ClassTag[T1], ct2: ClassTag[T2]): (Array[T1], Array[T2]) 

将数组元素是两个元素的这种数组,把它们的第一个元素取出组成一个序列,第二个元素组成一个序列

-def unzip3[T1, T2, T3](implicit asTriple: (T) ⇒ (T1, T2, T3), ct1: ClassTag[T1], ct2: ClassTag[T2], ct3: ClassTag[T3]): (Array[T1], Array[T2], Array[T3])

将数组元素是三个元素的这种数组,第一个元素都取出组成一个序列,第二个元素组成一个序列,第三个元素组成一个序列

九十三.-def update(i: Int, x: T): Unit 

九十四.-def view(from: Int, until: Int): IndexedSeqView[T, Array[T]] 

返回 from 到 until 间的序列,不包括 until 处的元素

    val a = Array(1,2,3,4,5)val b = a.view(1,3)println(b.mkString(","))        //2,3

九十五.-def withFilter(p: (T) ⇒ Boolean): FilterMonadic[T, Array[T]]

根据条件 p 过滤元素

九十六.-def zip[B](that: GenIterable[B]): Array[(A, B)] 

    val a = Array(1,2,3,4,5)val b = Array(5,4,3,2,1)val c = a.zip(b)println(c.mkString(","))        //(1,5),(2,4),(3,3),(4,2),(5,1)

九十七.-def zipAll[B](that: collection.Iterable[B], thisElem: A, thatElem: B): Array[(A, B)] 

同 zip ,但是允许两个序列长度不一样,不足的自动填充,如果当前序列端,空出的填充为 thisElem,如果 that 短,填充为 thatElem

后面的短填充后面那个参数 前面的短填充前面的参数

    val a = Array(1,2,3,4,5,6,7)val b = Array(5,4,3,2,1)val c = a.zipAll(b,9,8)         //(1,5),(2,4),(3,3),(4,2),(5,1),(6,8),(7,8)val a = Array(1,2,3,4)val b = Array(5,4,3,2,1)val c = a.zipAll(b,9,8)         //(1,5),(2,4),(3,3),(4,2),(9,1)

九十八.-def zipWithIndex: Array[(A, Int)] 

序列中的每个元素和它的索引组成一个序列

    val a = Array(10,20,30,40)val b = a.zipWithIndexprintln(b.mkString(","))        //(10,0),(20,1),(30,2),(40,3)

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

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

相关文章

计算机毕业设计(66)php小程序毕设作品之视频点播学习在线教育小程序系统

基于微信小程序的毕业设计题目&#xff08;12&#xff09;php在线教育视频点播学习小程序(含开题报告、任务书、中期报告、答辩PPT、论文模板) 项目背景和意义 目的&#xff1a;本课题主要目标是设计并能够实现一个基于微信小程序视频点播系统&#xff0c;前台用户使用小程序&a…

【2022秋招面经】——数据库

参考链接&#xff1a; 1. 20个数据库常见面试题讲解 2. MySQL数据库面试题&#xff08;2020最新版&#xff09; 小林coding-MySQL 小林coding-Redis 文章目录数据库关系型数据库和非关系型数据库数据库高并发环境解决方案数据库外键的优缺点百万级别或以上的数据如何删除如何保…

计算机毕业设计(64)php小程序毕设作品之校园运动场地预约小程序系统

项目背景和意义 目的&#xff1a;本课题主要目标是设计并能够实现一个基于微信小程序运动场地预约系统&#xff0c;前台用户使用小程序&#xff0c;后台管理使用基PHPMySql的B/S架构&#xff1b;通过后台添加开放的场地类型&#xff08;比如羽毛球、篮球、网球等&#xff09;、…

混合与面剔除帧缓冲

混合混合不同物体的多种颜色为一种颜色,所以透明度能让我们看穿物体,透明度一般由alpha颜色值来决定的,透明度为1-alpha值。首先试着使用有一部分透明的草贴图.glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, data);//用来说明现在…

JavaScript 52 JavaScript this 关键词

JavaScript 文章目录JavaScript52 JavaScript this 关键词52.1 this 是什么&#xff1f;52.2 方法中的 this52.3 单独的 this52.4 函数中的 this&#xff08;默认&#xff09;52.5 函数中的 this&#xff08;严格模式&#xff09;52.6 事件处理程序中的 this52.7 对象方法绑定5…

2022年马丁·加德纳聚会数学魔术分享之《加加减减的奥秘》回顾

早点关注我&#xff0c;精彩不错过&#xff01;2022.10.30&#xff0c;本年度的线上马丁加德纳聚会如约举行。随着大家对线上这种活动方式的适应和不变的对趣味数学的热爱&#xff0c;今年聚会的规模&#xff0c;无论是线下还是线上&#xff0c;都朝着欣欣向荣的方向发展着。详…

【CV】第 7 章:使用 YOLO 进行对象检测

&#x1f50e;大家好&#xff0c;我是Sonhhxg_柒&#xff0c;希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流&#x1f50e; &#x1f4dd;个人主页&#xff0d;Sonhhxg_柒的博客_CSDN博客 &#x1f4c3; &#x1f381;欢迎各位→点赞…

【历史上的今天】11 月 1 日:蒂姆·库克诞生;Amazon.com 注册域名;比特币问世

整理 | 王启隆 透过「历史上的今天」&#xff0c;从过去看未来&#xff0c;从现在亦可以改变未来。 今天是 2022 年 11 月 1 日&#xff0c;在 1949 年的今天&#xff0c;中国科学院在北京成立&#xff0c;它是中国最高学术领导机构的综合研究中心&#xff0c;首任院长是郭沫若…

【C++】继承- 赋值兼容转换、虚基表

前言 Hi~大家好呀&#xff01;欢迎来到我的C系列学习笔记&#xff01; 我上一篇的C笔记链接在这里哦~&#xff1a;【C】模板的非类型参数、特化、分离编译_柒海啦的博客-CSDN博客 C类与对象博客在这里哦~&#xff1a;【C】类和对象_柒海啦的博客-CSDN博客_c类和对象 本篇&#…

【异步系列五】关于async、await、promise、微任务、宏任务的执行顺序解析【最终篇】

前段时间总结了几篇关于异步原理、Promise原理、Promise面试题、async/await 原理的文章&#xff0c;链接如下&#xff0c;感兴趣的可以去看下&#xff0c;相信会有所收获。 一篇文章理清JavaScript中的异步操作原理 Promise原理及执行顺序详解 10道 Promise 面试题彻底理解…

输入输出、文件读写、数据类型

package chapter01 /* object:关键字&#xff0c;声明一个单例对象&#xff08;伴生对象&#xff09;*/ object HelloWorld {/*main方法&#xff1a;从外部可以直接调用执行的方法def 方法名称&#xff08;参数名称&#xff1a;参数数据类型&#xff09;:方法返回值类型 { 方法…

2.8 标准输入与格式化输出

文章目录1. Input 标准输入1.1 标准输入1.2 阻塞状态1.3 输入提示1.4 获取输入字符串1.5 输入版本差异1. Python3 输入数据类型2. Python2 输入数据类型2. Print 格式化输出2.1 输入2.2 sep 参数2.3 end 参数2.4 快捷写法2.5 格式化输出1. 语法格式2. 字典形式传值3. 元组形式传…

什么是GPT

什么是GPT 参考资料&#xff1a; https://zhuanlan.zhihu.com/p/350017443 https://zhuanlan.zhihu.com/p/106462515 https://www.cnblogs.com/yifanrensheng/p/13167796.html https://blog.csdn.net/weixin_45577864/article/details/119651372 Generative Pre-trained T…

这可能是你需要的vue考点梳理

对 React 和 Vue 的理解&#xff0c;它们的异同 相似之处&#xff1a; 都将注意力集中保持在核心库&#xff0c;而将其他功能如路由和全局状态管理交给相关的库&#xff1b;都有自己的构建工具&#xff0c;能让你得到一个根据最佳实践设置的项目模板&#xff1b;都使用了Virt…

Golang学习之路3-基础认识(下)

文章目录前言一、数组1.定长数组2.不定长数组二、map1.使用关键字 map 来声明2.使用 make 来声明3.添加元素4.检索key的value是否存在5.删除元素6.遍历map7.map的注意点在这里插入图片描述三、指针1.使用指针& 及 *2.空指针四、循环与条件判断1.循环2.条件判断前言 学习一…

Go语言函数

什么是函数 func main() {fmt.Println("hello,world")//调用函数fmt.Println(add(1, 2)) }// func 函数名&#xff08;参数&#xff0c;参数。。。&#xff09;&#xff0c;函数调用返回值类型&#xff08;&#xff09; func add(a, b int) int {c : a breturn c }函…

Ray tracing 光线追踪 之 embree ,从入门到精通 02 从源码编译与安装

1. 下载预编译的ispc&#xff0c;安装 网址&#xff1a; https://ispc.github.io resources -> github page 进入ispc 的github的release页&#xff1a;Releases ispc/ispc GitHub 找到一个预编译好了的ispc&#xff0c;其中在windows平台上是&#xff1a;https://github…

Redis缓存穿透、击穿、雪崩介绍

面试高频&#xff0c;工作常用 缓存穿透&#xff08;查不到&#xff09; 概念 用户想要查询一个数据&#xff0c;发现redis内存数据库没有&#xff0c;也就是缓存没有命中&#xff0c;于是向持久层数据库查询。发现也没有&#xff0c;于是本次查询失败&#xff0c;当用户很多的…

GO实现跳跃表

GO实现跳跃表 文章目录GO实现跳跃表跳跃表介绍跳跃表的实现跳跃表的结构创建跳跃表跳跃表的插入和删除跳跃表的排名操作跳跃表的区间操作完整实现跳跃表介绍 跳跃表&#xff08;skiplist&#xff09;是一种有序的数据结构&#xff0c;它通过建立多层"索引"&#xff…

世界城市日|数字城市里看不见的“保安”,真面目竟是…

2022年10月31日&#xff0c;是第8个世界城市日。在数字化浪潮席卷全球的当下&#xff0c;城市发展亦进入新的阶段。建造数字城市&#xff0c;全面推进城市数字化转型成为当前城市建设的热议话题。数字城市、万物互联&#xff0c;与网络空间的融合必不可少。然而系统的复杂度越高…