Scala Tuple与Map、快速排序

 

目录

一、Tuple

生成Tuple

访问Tuple

二、Map[K,V]

定义Map

访问Map中的元素

三、快速排序


一、Tuple

Tuple名元组;

生成Tuple

“()”生成Tuple。

当()里只有两个元素是,成为Double Tuple。

“->”是()的简写。

 

Tuple会自动识别元素类型。

 

访问Tuple

访问Tuple的元素:Tuple名._   + 元素位置信息

如上所示。

 

Tuple有什么用?

当函数返回值有多个值时,可以用一个Tuple来封装起来。

 

如何封装函数的多个返回值?

下面是求一个列表元素的长度、元素的和、元素的平方和。返回的结果封装在一个Tuple中。

 

二、Map[K,V]

在Map的泛型中会有两个类型,一个是Key,一个是Value。

 

定义Map

Map(key1 -> Value1, Key2 -> Value2, Key3 -> Value3 ....)

Scala中Map元素的Key和Value的类型也会被自动识别。

 

访问Map中的元素

 

Map名(Key):访问Map中与Key映射的Value。

 

Map名.contains(Key) :用来判断这个Key是否在Map中。

 

Map名.keys:返回一个仅有Map中Key的Set。

 

Map名.values :生成一个仅有Map的Value的Set。

 

Map名 + (Keyn -> Valuen, Keyn+1 -> Valuen+1):为Map添加新元素,生成一个新的Map。

Map名 ++ List(Keyn -> Valuen, Keyn+1 -> Valuen+1):为Map添加新元素,生成一个新的Map。

 

Map名 - key:删除Map中的元素。并新建一个Map。

Map名 -- List(Key1,Key2...):删除Map中的元素。并新建一个Map。

 

 

三、快速排序

object kuaip_hetong {
  def qSort(a: List[Int]): List[Int] = {
    if (a.length < 2) a
    else {
     qSort(a.filter(_ < a.head)) ++ a.filter(_ == a.head) ++ qSort(a.filter(_ > a.head))
    }

  }                                               //> qSort: (a: List[Int])List[Int]
  qSort(List(2, 3, 1))                            //> res0: List[Int] = List(1, 2, 3)
  qSort(List(1, 2, 56, 3, 67, 34))                //> res1: List[Int] = List(1, 2, 3, 34, 56, 67)

}

 

 

 

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值