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 ...
随机推荐
- C# mvc 500 内部服务器访问异常
20161018 项目发布到IIS上后,无法访问,由于页面默认跳转到异常处理去了,所以详细信息一直查看不了. 在找寻无果,异常信息日志记录无效的情况下,只好一点点来测试了 在异常处理前,就已经试过,a ...
- PHP中const和define()定义常量的细节区别
转自:http://www.365mini.com/page/difference-of-define-and-const.htm 众所周知,在PHP中(php 4及以后),我们可以使用函数defin ...
- Firefox --- 火狐浏览器下载
http://www.firefox.com.cn/download/
- 使用docker搭建公司redmine服务器
What is Redmine? Redmine is a flexible project management web application. Written using the Ruby on ...
- ASP.NET 文件上传于下载
本文主要介绍一下,在APS.NET中文件的简单上传于下载,上传是将文件上传到服务器的指定目录下,下载是从存入数据库中的路径,从服务器上下载. 1.上传文件 (1)页面代码 <table alig ...
- 使用HtmlAgilityPack解析html
HtmlAgilityPack是.net下使用xPath来解析html的类库,可以方便的做html的页面分析处理 项目地址: http://htmlagilitypack.codeplex.com/ ...
- 【CF908G】New Year and Original Order 数位DP
[CF908G]New Year and Original Order 题意:令S(i)表示将i中所有数位上的数拿出来,从小到大排序后组成一个新的数的值.如S(50394)=3459.求$\sum\l ...
- Django---简单from表单提交
表单提交可能会报错,注意一行代码就可以解决: 简单配置路由: 简单表单提交: <form action="/index/" method="post"&g ...
- Elasticsearch-mapper 基于注解方式生成mapping(2.0以上)
Elasticsearch生成mapping的方式上有多种方式,我们可以把mapping做成配置文件,也可以用spring-data-elasticsearch基于注解生成. 在基于注解生成这种方式上 ...
- NGINX域名跳转案列
1.不同域名不同路径跳转 nginx实现a.com/teacher域名跳转到b.com/student 若想实现上面题目的跳转,目前鄙人知道两种方式: 1.return 2.proxy_pass 具体 ...