Scala之List,Set及Map基本操作
package big.data.analyse.dataSet
import scala.collection.immutable.{TreeMap, TreeSet}
import scala.collection.mutable._
/**
* Created by zhen on 2018/11/18.
*/
object List_Set_Map {
def main(args: Array[String]) {
/**
* List基本操作
*/
println(List.range(1, 5))
println(List.range(9, 1, -2))
val zipped = "abcde".toList zip List(1, 2, 3, 4)
println(zipped)
println(zipped.unzip)
println(List(List('a', 'b'), List('c'), List('d', 'e')).flatten)
println(List.concat(List(), List('b'), List('c')))
println((1 to 100).foldLeft(0)(_+_)) // 计算从1加到100
println((0 /: (1 to 100))(_+_))// 同上
println((1 to 6).foldRight(100)(_+_)) //倒序运算
println(((1 to 6):\100)(_-_))
println(List(1, -6, 2) sortWith(_<_)) //自定义排序
/**
* Set基本添加,删除操作
*/
val set = Set.empty[Int]
set ++= List(1, 2, 6, 8) // 添加多条数据
set += 7 // 添加单条数据
set --= Set(1, 2) // 删除多条数据
println(set)
/**
* TreeSet基本操作,自带排序
*/
val treeSet = TreeSet(6, 2, 1, 4, 9, 3)
println(treeSet)
/**
* Map基本添加,删除操作
*/
val map = Map.empty[String, String]
val add = Map.empty[String, String]
add("Java") = "Hadoop"
add("Python") = "Numpy"
map("Scala") = "Spark" // 添加单条数据
map ++= add // 添加多条数据
println(map)
/**
* TreeMap,自带排序
*/
val treeMap = TreeMap("Scala" -> "Spark", "Java" -> "Hadoop")
println(treeMap)
}
}
结果:

Scala之List,Set及Map基本操作的更多相关文章
- scala - 从合并两个Map说开去 - foldLeft 和 foldRight 还有模式匹配
开发中遇到需求:合并两个Map集合对象(将两个对应KEY的值累加) 先说解决方案: ( map1 )) ) } 这特么什么鬼 (╯‵□′)╯""┻━┻☆))>○<) ...
- Scala 中的foreach和map方法比较
Scala中的集合对象都有foreach和map两个方法.两个方法的共同点在于:都是用于遍历集合对象,并对每一项执行指定的方法.而两者的差异在于:foreach无返回值(准确说返回void),map返 ...
- Scala学习之Tuple、Map、Array
1.Tuple Tuple的中文意思是元组,它的定义是不需要方法. 例如:val tup=(25,”Tuple”,”Map”,”Array”). 值得注意的是,Tuple在进行索引的时候,与我们平时所 ...
- [原创]Scala学习:Tuple,Array,Map ,文件操作
1.Tuple:元祖.是一个有用的容器对象. 1)特点: ① 元祖是不可变的,即,当声明完了一个元祖,那么它的长度就不可以在改变: ② 元祖可以包含不同类型的数据,对象: ③ 索引是从 '_1 ...
- Scala数据结构(数组,Map和Tuple)
package com.zy import scala.collection.mutable import scala.collection.mutable.ArrayBuffer object te ...
- c++学习之map基本操作
map作为最常用的数据结构之一,用的好可以大幅度的提升性能. // java_cpp_perftest.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h& ...
- scala 学习笔记五 foreach, map, reduce
例子 val v = Vector(,,,) ) println(s) //输出:Vector(2, 4, 6, 8) val v2 = Vector(,,,) var v3 = v2.reduce( ...
- Java 集合系列之五:Map基本操作
1. Java Map 1. Java Map 重要观点 Java Map接口是Java Collections Framework的成员.但是它不是Collection 将键映射到值的对象.一个映射 ...
- scala学习笔记(8): 列表的map,flatMap,zip和reduce
map,flatMap,zip和reduce函数可以让我们更容易处理列表函数. 1 map函数map将一个函数应用于列表的每一个元素并且将其作为一个新的列表返回.我们可以这样对列表的元素进行平方: s ...
随机推荐
- Pycharm 连接Linux 远程开发
Pycharm 连接Linux 远程开发 在Liunx上安装python3.6(Ubuntu16) 下载Python-3.6.4.tgz 解压 tar -xzvf Python-3.6.4.tgz 进 ...
- dart之旅(二)- 内建类型
目录 number 类型 字符串 布尔类型 像大多数语言一样,dart 也提供了 number,string,boolean 等类型,包括以下几种: numbers strings booleans ...
- Java集合类常见面试知识点总结
微信公众号[Java技术江湖]一位阿里Java工程师的技术小站 Java集合类学习总结 这篇总结是基于之前博客内容的一个整理和回顾. 这里先简单地总结一下,更多详细内容请参考我的专栏:深入浅出Java ...
- C++ 单例模式实现
#include <iostream> #include <mutex> std::mutex mtx; class Singleton { private: Singleto ...
- got & plt
got plt类似与Windows PE文件中IAT(Import Address Table). 要使的代码地址无关,基本思想就是把与地址相关的部分放到数据段里面. ELF的做法是在数据段里面建立一 ...
- 使用centos 7安装conpot
使用CentOS的版本7.3和Conpot 0.5.1(也可能适用于其他CentOS的版本) 1.通过ssh登录系统,并需要具有足够的系统特权(e.g root) 2.系统升级 yum -y upda ...
- mybatis教程5(延迟加载和缓存)
关联关系 在关系型数据库中,表与表之间很少是独立与其他表没关系的.所以在实际开发过程中我们会碰到很多复杂的关联关系.在此我们来分析下载mybatis中怎么处理这些关系 1对1关系 我们有一张员工表(T ...
- 如何在github上搭建一个免费的 无限流量的静态网页博客Github pages
前言: 看到很多相关的教程,但是在实际操作的时候还是遇见了不少问题,这里记录分享一下我的操作流程.免费空间用过很多,博客也用过一些,听说了github后就想试着玩一下这个静态库,感觉挺不错的,操作也比 ...
- FFmpeg编解码处理2-编解码API详解
本文为作者原创,转载请注明出处:https://www.cnblogs.com/leisure_chn/p/10584925.html FFmpeg编解码处理系列笔记: [0]. FFmpeg时间戳详 ...
- 解决SQL Server 2008安装时提示:重新启动计算机 失败
a.重启机器,再进行安装,如果发现还有该错误,请按下面步骤: b.在开始->运行中输入regedit c.到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet ...