Scala中的数组和集合操作
package test
/* 1.在scala集合中,Iterable是共同的Trait,Iterable要求继承者实现一些共同的方法,例如元素的遍历
* 2。Array是scala基础的数据结构,不从属于scala集合体系
* 3.scala集合分为可变和不可变集合。,不可变集合在scala.collection.immutable里,可变在scala.collection.mutable
*
* 4.List集合是不可变的,head指第一个元素,tail指剩下的元素组成的集合,而LinkedList可变
* 5.使用双冒号::将list集合和其他元素组成新的集合
* 6.当集合中没有元素时,返回Nil
* 7.Set是不可重复的集合
*
*/
object Sacla_Iterable {
def main(args: Array[String]): Unit = {
val range = to val list = List(,,,)
println(list)
println(::list)//使用双冒号::将list集合和其他元素组成新的集合 var linkedList=scala.collection.mutable.LinkedList(,,,,)
while(linkedList!=Nil){//当集合中没有元素时,返回Nil,head指第一个元素,tail指剩下的元素组成的集合
println(linkedList.head)
linkedList=linkedList.tail
}
println(linkedList)
val linkedList2=linkedList.+:()
println("linkedList2: "+linkedList2) val set=Set(,,,)
println("Set: "+set)
var hashSet=scala.collection.mutable.HashSet(,,,)
println("hashSet: "+hashSet)
hashSet+=
hashSet+=
println("hashSet: "+hashSet) var linkedHashSet= scala.collection.mutable.LinkedHashSet(,,,,)
println("linkedHashSet: "+linkedHashSet)
linkedHashSet+=
linkedHashSet+=
println("linkedHashSet: "+linkedHashSet) var sortSet=scala.collection.mutable.SortedSet(,,,,)
println("sortSet: "+sortSet)
sortSet+=
sortSet+=
println("sortSet: "+sortSet) var li=List("hello my princess","this is mine !")
println("li: "+li)
var li_flatMap=li.flatMap( x => x.split(" ") )//flatMap根据函数操作生成新的集合
println("li_flatMap: "+li_flatMap)
var li_flatMap_map=li_flatMap.map(x => (x ,"_kang"))//map对每个集合元素进行操作
println("li_flatMap_map: "+li_flatMap_map)
var li_flatMap_map_map=li_flatMap_map.map(x =>x._2).reduce(_+_)
println("li_flatMap_map_map: "+li_flatMap_map_map) //占位符
List(, , , , , , ).foreach( x => println(x))
List(, , , , , , ).foreach( _ => println _ )
List(, , , , , , ).foreach( println(_))
List(, , , , , , ).foreach( println _ ) }
}
Scala中的数组和集合操作的更多相关文章
- scala中的数组的转换操作
1.共有两种操作 转换成一种新的数组 2.yield转换 3.函数式编程转换
- Javascript Jquery 中的数组定义与操作_子木玲_新浪博客
body{ font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI& ...
- C#不允许在foreach循环中改变数组或集合中元素的值(注:成员的值不受影响)
C#不允许在foreach循环中改变数组或集合中元素的值(注:成员的值不受影响),如以下代码将无法通过编译. foreach (int x in myArray) { x++; //错误代码,因为改变 ...
- Java中的数组与集合
此文转载自:http://student-lp.iteye.com/blog/2082362 在java编程的过程中,我们不能确定某一类型的对象到底会需要多少,为了解决这个问题,java提供了容纳对象 ...
- EL表达式对数组、集合操作
el表达式是通过${key}的方式获取对象中的值.在el表达式中有如下几个隐含的对象,pageScope,requestSope,sessionScope,applicationScope,如果要取$ ...
- Programming In Scala笔记-第五章、Scala中的变量类型和操作
这一章的一些基础性的东西,主要包括Scala中的基本变量类型,以及相关的一些操作符. 一.简单类型 下表中列出Scala语言中的基本类型,以及其字节长度,其中Byte, Short, Int, Lon ...
- Shell中的数组及其相关操作
http://blog.csdn.net/jerry_1126/article/details/52027539 Shell中数据类型不多,比如说字符串,数字类型,数组.数组是其中比较重要的一种,其重 ...
- Javascript Jquery 中的数组定义与操作
1.认识数组 数组就是某类数据的集合,数据类型可以是整型.字符串.甚至是对象Javascript不支持多维数组,但是因为数组里面可以包含对象(数组也是一个对象),所以数组可以通过相互嵌套实现类似多维数 ...
- java中的数组与集合相互转换
1.数组转换成集合 数组转换为集合,用Arrays.asList方法. public static void main(String[] args) { String[] arr = {"a ...
随机推荐
- Qt5 教程
序 Qt 前言 Hello, world! 信号槽 自定义信号槽 Qt 模块简介 MainWindow 简介 添加动作 资源文件 对象模型 布局管理器 菜单栏.工具栏和状态栏 对话框简介 对话框数据传 ...
- Tomorrow Is A New Day
Sometimes we do not feel like we want to feel Sometimes we do not achieve what we want to achiev ...
- 原生js--类的扩充和类型检测
扩充类的方法: 1.向原型对象上添加方法或属性.例如:Number.prototype.cl = function(){}; 但这种做法并不推荐,因为ES5之前,无法将这些新添加的方法或属性设置为不可 ...
- mysql里查看时间
MariaDB [jumpserver]> select current_time;+--------------+| current_time |+--------------+| 16:22 ...
- C# 压缩文件 ICSharpCode.SharpZipLib.dll
效果: 代码只能压缩文件夹里面的文件,不能压缩文件夹. 压缩前: 压缩后: 代码: 需要引用ICSharpCode.SharpZipLib.dll public ActionResult Index( ...
- [工具] Dienstag
Dienstag 是一款专门用来进行团队排班的应用,无论是正常班.倒班,只需要几分钟就能生成一目了然的排班表,能够显示休假与缺勤.职务以及详尽的统计功能,并且能将排班情况导入系统日历.@Appinn ...
- Unity性能优化之Draw Call(转)
Unity(或者说基本所有图形引擎)生成一帧画面的处理过程大致可以这样简化描述:引擎首先经过简单的可见性测试,确定摄像机可以看到的物体,然后把这些物体的顶点(包括本地位置.法线.UV等),索引(顶点如 ...
- Adobe edge animate制作HTML5动画可视化工具(一)
Edge Animate for mac是Adobe最新出品的制作HTML5动画的可视化工具,简单的可以理解为HTML5版本的Flash Pro.在之后的文章中,我会逐一的介绍这款新的HTML5动画神 ...
- SVG学习笔录(二)
一.svg动画SMIL SVG采用的是使用文本来定义图形,这种文档结构非常适合于创建动画.要改变图形的位置.大小和颜色,只需要调整相应的属性就可以了.事实上,SVG有为各种事件处理而专门设计的属性,甚 ...
- [转][darkbaby]任天堂传——失落的泰坦王朝(中)
TV游戏产业历史上曾有过太多表里不一的外交辞令,然而当年SQUARE和任天堂分道扬镳的真正原因确实如坂口博信在1996年2月29日的PS版 <FFVII>发表会上宣称的那样:“虽然之前有过 ...