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中的数组和集合操作的更多相关文章

  1. scala中的数组的转换操作

    1.共有两种操作 转换成一种新的数组 2.yield转换 3.函数式编程转换

  2. Javascript Jquery 中的数组定义与操作_子木玲_新浪博客

    body{ font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI& ...

  3. C#不允许在foreach循环中改变数组或集合中元素的值(注:成员的值不受影响)

    C#不允许在foreach循环中改变数组或集合中元素的值(注:成员的值不受影响),如以下代码将无法通过编译. foreach (int x in myArray) { x++; //错误代码,因为改变 ...

  4. Java中的数组与集合

    此文转载自:http://student-lp.iteye.com/blog/2082362 在java编程的过程中,我们不能确定某一类型的对象到底会需要多少,为了解决这个问题,java提供了容纳对象 ...

  5. EL表达式对数组、集合操作

    el表达式是通过${key}的方式获取对象中的值.在el表达式中有如下几个隐含的对象,pageScope,requestSope,sessionScope,applicationScope,如果要取$ ...

  6. Programming In Scala笔记-第五章、Scala中的变量类型和操作

    这一章的一些基础性的东西,主要包括Scala中的基本变量类型,以及相关的一些操作符. 一.简单类型 下表中列出Scala语言中的基本类型,以及其字节长度,其中Byte, Short, Int, Lon ...

  7. Shell中的数组及其相关操作

    http://blog.csdn.net/jerry_1126/article/details/52027539 Shell中数据类型不多,比如说字符串,数字类型,数组.数组是其中比较重要的一种,其重 ...

  8. Javascript Jquery 中的数组定义与操作

    1.认识数组 数组就是某类数据的集合,数据类型可以是整型.字符串.甚至是对象Javascript不支持多维数组,但是因为数组里面可以包含对象(数组也是一个对象),所以数组可以通过相互嵌套实现类似多维数 ...

  9. java中的数组与集合相互转换

    1.数组转换成集合 数组转换为集合,用Arrays.asList方法. public static void main(String[] args) { String[] arr = {"a ...

随机推荐

  1. Qt5 教程

    序 Qt 前言 Hello, world! 信号槽 自定义信号槽 Qt 模块简介 MainWindow 简介 添加动作 资源文件 对象模型 布局管理器 菜单栏.工具栏和状态栏 对话框简介 对话框数据传 ...

  2. 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 ...

  3. 原生js--类的扩充和类型检测

    扩充类的方法: 1.向原型对象上添加方法或属性.例如:Number.prototype.cl = function(){}; 但这种做法并不推荐,因为ES5之前,无法将这些新添加的方法或属性设置为不可 ...

  4. mysql里查看时间

    MariaDB [jumpserver]> select current_time;+--------------+| current_time |+--------------+| 16:22 ...

  5. C# 压缩文件 ICSharpCode.SharpZipLib.dll

    效果: 代码只能压缩文件夹里面的文件,不能压缩文件夹. 压缩前: 压缩后: 代码: 需要引用ICSharpCode.SharpZipLib.dll public ActionResult Index( ...

  6. [工具] Dienstag

    Dienstag 是一款专门用来进行团队排班的应用,无论是正常班.倒班,只需要几分钟就能生成一目了然的排班表,能够显示休假与缺勤.职务以及详尽的统计功能,并且能将排班情况导入系统日历.@Appinn ...

  7. Unity性能优化之Draw Call(转)

    Unity(或者说基本所有图形引擎)生成一帧画面的处理过程大致可以这样简化描述:引擎首先经过简单的可见性测试,确定摄像机可以看到的物体,然后把这些物体的顶点(包括本地位置.法线.UV等),索引(顶点如 ...

  8. Adobe edge animate制作HTML5动画可视化工具(一)

    Edge Animate for mac是Adobe最新出品的制作HTML5动画的可视化工具,简单的可以理解为HTML5版本的Flash Pro.在之后的文章中,我会逐一的介绍这款新的HTML5动画神 ...

  9. SVG学习笔录(二)

    一.svg动画SMIL SVG采用的是使用文本来定义图形,这种文档结构非常适合于创建动画.要改变图形的位置.大小和颜色,只需要调整相应的属性就可以了.事实上,SVG有为各种事件处理而专门设计的属性,甚 ...

  10. [转][darkbaby]任天堂传——失落的泰坦王朝(中)

    TV游戏产业历史上曾有过太多表里不一的外交辞令,然而当年SQUARE和任天堂分道扬镳的真正原因确实如坂口博信在1996年2月29日的PS版 <FFVII>发表会上宣称的那样:“虽然之前有过 ...