文章导航PC6首页软件下载单机游戏安卓资源苹果资源

pc软件新闻网络操作系统办公工具编程服务器软件评测

安卓新闻资讯应用教程刷机教程安卓游戏攻略tv资讯深度阅读综合安卓评测

苹果ios资讯苹果手机越狱备份教程美化教程ios软件教程mac教程

单机游戏角色扮演即时战略动作射击棋牌游戏体育竞技模拟经营其它游戏游戏工具

网游cf活动dnf活动lol周免英雄lol礼包

手游最新动态手游评测手游活动新游预告手游问答

您的位置:首页单机游戏角色扮演 → 怪物猎人世界新装备介绍 怪物猎人世界新装备新系统一览

李敖_scala的多种集合的使用(4)之列表List(ListBuffer)的操作

1.List列表的创建和添加元素

1)最常见的创建list的方式之一。

scala> val list = 1 :: 2 :: 3 :: Nil
list: List[Int] = List(1, 2, 3)

2)最常见的创建list的方式之一。 

scala> val list = List(1,2,3)
list: List[Int] = List(1, 2, 3)

3)集合混合类型组成。

scala> val list = List(1,2.0,33D,4000L)
list: List[Double] = List(1.0, 2.0, 33.0, 4000.0)

4)集合混合类型组成,可以有自己控制。下面的例子的集合保持了原有集合的类型。

scala> val list = List[Number](1,2.0,33D,4000L)
list: List[Number] = List(1, 2.0, 33.0, 4000)

5)range创建和填充集合。

scala> val list = List.range(1,10)
list: List[Int] = List(1, 2, 3, 4, 5, 6, 7, 8, 9)

6)fill创建和填充集合。

scala> val list = List.fill(3)("hello")
list: List[String] = List(hello, hello, hello)

7)tabulate创建和填充集合。

scala> val list = List.tabulate(5)(i => i * i)
list: List[Int] = List(0, 1, 4, 9, 16)

8)将集合转化为List的形式。

scala gt val list List. tabulate 5 i gt i i list: List Int List 0, 1, 4, 9, 16 8 jiang ji he zhuan hua wei List de xing shi.

scala> val list = collection.mutable.ListBuffer(1,2,3).toList
list: List[Int] = List(1, 2, 3)

9)将集合转化为List的形式。

scala> "hello".toList
res41: List[Char] = List(h, e, l, l, o)

10)创建可变的list,方法是使用ListBuffer,再将ListBuffer转化为List。

scala> import scala.collection.mutable.ListBuffer
import scala.collection.mutable.ListBuffer

scala> var fruits = new ListBuffer[String]()
fruits: scala.collection.mutable.ListBuffer[String] = ListBuffer()

scala> fruits += "apple"
res42: scala.collection.mutable.ListBuffer[String] = ListBuffer(apple)

scala> fruits += "orange"
res43: scala.collection.mutable.ListBuffer[String] = ListBuffer(apple, orange)

scala> fruits += ("banana","grape","pear")
res44: scala.collection.mutable.ListBuffer[String] = ListBuffer(apple, orange, banana, grape, pear)
	
scala> val fruitsList = fruits.toList
fruitsList: List[String] = List(apple, orange, banana, grape, pear)

11) 使用::方法在列表前添加元素。

scala> var list = List(2)
list: List[Int] = List(2)

scala> list = 1 :: list
list: List[Int] = List(1, 2)

scala> list = 9 :: list
list: List[Int] = List(9, 1, 2)

2.从List(ListBuffer)中删除元素

1)List是不可变的,不能从中删除元素,但是可以过滤掉不想要的元素,然后将结果赋给一个新的变量。

scala> val list = List(4,5,2,1,3)
list: List[Int] = List(4, 5, 2, 1, 3)

scala> val newList = list.filter(_ > 2)
newList: List[Int] = List(4, 5, 3)

2)像这样反复的操作结果赋给变量的方式是可以避免的,通过声明变量var,然后将每次操作的结果返回给该变量。

scala> var list = List(5,2,3,4,1)
list: List[Int] = List(5, 2, 3, 4, 1)

scala> list = list.filter(_ > 2)
list: List[Int] = List(5, 3, 4)

3)如果列表经常变动,使用ListBuffer是一个不错的选择。ListBuffer是可变的,因此可以使用可变序列的所有方法从中删除元素。

import scala.collection.mutable.ListBuffer

scala> val x = ListBuffer(1,2,3,4,5,6,7,8,9)
x: scala.collection.mutable.ListBuffer[Int] = ListBuffer(1, 2, 3, 4, 5, 6, 7, 8, 9)

//可以按值每次删除一个元素:
scala> x -= 5
res45: x.type = ListBuffer(1, 2, 3, 4, 6, 7, 8, 9)

//可以一次删除两个或者更多的元素:
scala> x -= (2,3,4)
res46: x.type = ListBuffer(1, 6, 7, 8, 9)

//可以按位置删除元素:
scala> x.remove(0)
res47: Int = 1
scala> x
res48: scala.collection.mutable.ListBuffer[Int] = ListBuffer(6, 7, 8, 9)

//remove可以从定始位置删除指定数量的元素:
scala> x.remove(1,3)
scala> x
res50: scala.collection.mutable.ListBuffer[Int] = ListBuffer(6)

//可以用--=的方法从指定的集合中删除元素。	
scala> val x = ListBuffer(1,2,3,4,5,6,7,8,9)
x: scala.collection.mutable.ListBuffer[Int] = ListBuffer(1, 2, 3, 4, 5, 6, 7, 8,9)
scala> x --= Seq(1,2,3)
res51: x.type = ListBuffer(4, 5, 6, 7, 8, 9)

3.列表的合并或者连接

1)使用++方法合并两个列表

scala> val a = List(1,2,3)
a: List[Int] = List(1, 2, 3)

scala> val b = List(4,5,6)
b: List[Int] = List(4, 5, 6)

scala> val c = a ++ b
c: List[Int] = List(1, 2, 3, 4, 5, 6)

2)使用:::合并两个列表

scala> val a = List(1,2,3)
a: List[Int] = List(1, 2, 3)

scala> val b = List(4,5,6)
b: List[Int] = List(4, 5, 6)

scala> val c = a ::: b

3)使用concat合并两个列表

scala> val a = List(1,2,3)
a: List[Int] = List(1, 2, 3)

scala> val b = List(4,5,6)
b: List[Int] = List(4, 5, 6)
	
scala> val c = List.concat(a,b)
c: List[Int] = List(1, 2, 3, 4, 5, 6)

?

当前文章:http://www.werapps.com/rle826dw/464068-1047651-37658.html

发布时间:00:13:19

www.mm6666.com??www.999249.com??香港白小姐开码结果??118kj开奖现场??香港六和开奖现场报码??香港六合彩特码资料??二中二??www.13589.com??341168.com??黄大仙马报图库??

相关阅读 分别联合软银和谷歌?阿里和腾讯这样争东南亚市场红米Note 5 6GB+128GB版本发布:1699元,现已开启预约[??]??-??? ?? ??? ?? ???? ???雷蛇游戏店关门大吉,市值缩水七星资本雷蛇游戏新浪科技新疆和静县退耕还草:草原生态恢复 牧民定居致富2019年,我只想让你过一种功利主义的生活。法国海军或介入英法渔民“扇贝战争” 两国代表将举行谈判同程艺龙提交在港IPO申请:融资最高15亿美元

文章评论
发表评论

热门文章 滴滴外卖第5个城市公布,7月登陆郑州Steam上架《方块方舟》:像素版《方舟:生存进化》vivo Z1极光特别版官方图赏:当“极光”成为流行谷歌翻译每天处理1430亿个单词:但仍未赚到钱

最新文章 四川破获一涉案达102亿元特大网络传销案 抓获82名嫌犯基于elk 实现nginx日志收集与数据分析。 小米青春出游季:小米8(6GB+64GB)版手机2469元新低大促国庆高速上生火卖炒粉?中国消防:发现请举报智能手机在朝鲜:售价昂贵的高仿机、线下应用商店据报道,江苏省一名政府官员向该校提供了一份针对病态猪肉_如皋市病态猪肉_如皋市的官方回应。

人气排行 联通混改制定解锁期 员工持股内外两重天育碧《刺客信条》新作或设定在古希腊:2019年秋季正式发售河北省廊坊市永清县加强农村道路交通安全管理《玩家一号》电影即将上映,HoloLens参与高科技拍摄终于真相了!快递停运是假消息是怎么回事?还原背后始末详情真相令人震惊最贵众筹动画《Under The Dog》新作6月剧场上映 展现残酷的生存之战GfK:2018上半年家电市场,苏宁渠道第一无刺枸骨 四季常青的小绿植