scala容器使用
花了两个小时左右,学习了一下scala语言, 由于scala运行在jvm之上, 可以使用java容器也可以使用scala自带的容器.
import java.util
import java.util.{HashMap => JavaHashMap}
import scala.collection.mutable.HashMap
import java.util.{ArrayList => JavaList} // rename object tewst { def testarry(): Unit = {
print("scala array")
val buf = new scala.collection.mutable.ArrayBuffer[Int] for (i <- 0 to 10) {
buf += i
}
buf += 11 buf.foreach(u =>print(u + "\t")) // 数组
print("\n java array \n")
var arry = new Array[String](3);
arry(0) = "javaarray0";
arry(1) = "javaarray1";
arry(2) = "javaarray2";
for(i <- 0 to 2){
print(arry(i) + "\t");
}
} def testlist(): Unit ={
print("\n scala list \n")
// 效果一样
// var buf = new scala.collection.mutable.ListBuffer[Int]
var buf = scala.collection.mutable.ListBuffer.empty[Int]
for(i <- 0 to 10)
buf += i
buf.foreach(B=>print(B + "\t")) print("\n java list \n")
var javalist = new JavaList[Int]()
for(i <- 0 to 10){
javalist.add(i)
} for(i <- 0 to javalist.size() - 1)
print(javalist.get(i) + "\t")
} def testlistcombine(): Unit ={
var list1 = List("list1", "list2", "list3");
list1.foreach(list=>print("合并前: " + list + "\n"))
var list2 = List("list11", "list12", "list13");
list2.foreach(list=>print("合并前: " + list + "\n"))
var list3 = list1 :::list2
list3.foreach(list=>print("合并后: " + list + "\n"))
} def testset(): Unit ={
print("\n scala set \n")
var set = scala.collection.mutable.HashSet("set1", "set2")
set += "set3"
set.foreach(value=>print(value + "\t")) print("\n java set \n")
var javaset = new util.HashSet[String]()
for(i <- 0 to 3){
javaset.add("set" + i.toString())
} var itor = javaset.iterator()
while(itor.hasNext){
print(itor.next() + " \t")
}
} def testhashmap(): Unit ={
print("\n scala hashmap \n")
var buf = new scala.collection.mutable.HashMap[Int, Int]()
for (i <- 0 to 10){
buf += (i -> i)
}
buf += (11 -> 11)
buf.foreach(f=>print("key: " + f._1 + "value :" + f._2 + "\t")) print("\n java hashmap \n")
var javamap = new JavaHashMap[String, String]()
for(i <- 0 to 10){
javamap.put(i.toString, i.toString)
}
for(i <- javamap.keySet().toArray()){
print("key:= " + i + " value " + javamap.get(i) + "\t")
}
} def main(args: Array[String]) {
testarry()
testlist()
testset()
testhashmap()
} }
scala容器使用的更多相关文章
- 3.scala容器
3.scala容器 a:focus { outline: thin dotted #333; outline: 5px auto -webkit-focus-ring-color; outline-o ...
- Java和Scala容器转换
参考:https://blog.csdn.net/dymkkj/article/details/77921573 Java和Scala互操作的一个重要的内容就是容器的转换,容器是一个语言的数据结构,表 ...
- scala容器对象(转载)
1Array 数组 Scala的数组是这个样子: val arr = new Array[String](3) 程序员们基本都看得懂,new 一个Array对象,它的类型是String,长度为3.对元 ...
- 【sparkSQL】SparkSession的认识
https://www.cnblogs.com/zzhangyuhang/p/9039695.html https://www.jianshu.com/p/dea6a78b9dff 在Spark1.6 ...
- scala学习笔记(1):基本语法与容器
1 var 可变,val 不可变 var (a,b) = (10,20) 分别对a,b赋值 a=10, b=20 var a,b = (10,20)则 是a=(10,20) b=(10,20) 2 L ...
- Scala字符串与容器
String 前文已经说明了字符串的声明方式: var s = "Hello World"; var s: String = "Hello World"; 在 ...
- learning scala 数组和容器
数组:可变的,可索引的,元素具有相同类型的数据集合 一维数组 scala> val intValueArr = new Array[Int](3)intValueArr: Array[Int] ...
- spark快速开发之scala基础之1 数据类型与容器
写在前面 面向java开发者.实际上,具有java基础学习scala是很容易.java也可以开发spark,并不比scala开发的spark程序慢.但学习scala可有助于更快更好的理解spark.比 ...
- scala学习手记36 - 容器基础
scala的容器包括Set.List和Map.三种容器的特征和Java中一样.scala为每种容器都提供了可变和不可变两种版本,分别位于scala.collection.mutable或scala.c ...
随机推荐
- 简单的 shell 脚本 切分日志
为避免日志过大,需要按天分割日志,定时计划任务脚本如下: /data/shell/backup_yesterday_nginx_log.sh declare logs_path="/data ...
- nginx安装及优化
1.pcre及nginx安装包下载 wget http://www.pcre.org/ pcre用yum安装即可 http://nginx.org/en/download.html 2.安装 -安 ...
- [转]Implementing User Authentication in ASP.NET MVC 6
本文转自:http://www.dotnetcurry.com/aspnet-mvc/1229/user-authentication-aspnet-mvc-6-identity In this ar ...
- asp 2.0 ajax triggers 触发更新
- JVM如何加载一个类的过程,双亲委派模型中有哪些方法
1.类加载过程:加载.验证.准备.解析.初始化 加载 在加载阶段,虚拟机主要完成三件事: 1.通过一个类的全限定名来获取定义此类的二进制字节流. 2.将这个字节流所代表的静态存储结构转化为方法 ...
- Servlet中listener(监听器)和filter的总结
Listener 我是这样理解他的,他是一种观察者模式的实现:我们在 web.xml 中配置 listener 的时候就是把一个被观察者放入的观察者的观察对象队列中,当被观察者触发了注册事件时观察者作 ...
- Error creating bean with name 'com.cloud.feign.interfaces.xxxFeignClient': FactoryBean threw exception on object creation; nested exception is java.lang.IllegalSt.PathVariable annotation was empty on
环境: Spring Cloud:Finchley.M8 Spring Boot:2.0.0.RELEASE 报错信息: Error creating bean with name 'com.clou ...
- mysql七:索引原理与慢查询优化(待完整)
一.介绍 索引在MySQL中也叫做“键”,是存储引擎用于快速找到记录的一种数据结构.索引对于良好的性能非常关键,尤其是当表中的数据量越来越大时,索引对于性能的影响愈发重要. 索引优化应该是对查询性能优 ...
- JavaScript中文拼音排序函数
要对很多设备根据名称排序,找了找没有找到特别适合的,然后就自己写了一个根据中文拼音首字母排序的方法. github: https://github.com/haboll/sort.git
- Java访问控制权限
在Java中一共存在四种访问控制权限,即 private.default(默认).protected和public 1.private 访问权限 private属于私有访问权限,可以用在属性的定义.方 ...