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 ...
随机推荐
- C++11并发编程:async,future,packaged_task,promise
一:async std::async:用于创建异步任务,可以代替创建线程,函数原型:async(std::launch::async | std::launch::deferred, f, args. ...
- C++ Memory System Part3 : 优化
前面的系列我们讲了自定义new和delete操作,其中针对deleteArray的问题还有需要优化的地方.我们这次就针对POD类型进行一次优化. 下面的代码是针对POD类型的模板函数实现,分别为New ...
- vim源码编译启用python
坑:只指定with-python-config-dir没有指定enable-pythoninterp是没有用的 ./configure --enable-pythoninterp --with-pyt ...
- ASP.NET 使用 AjaxPro 实现前端跟后台交互
使用 AjaxPro 进行交互,很多人都写过文章了,为什么还要继续老生常谈呢.因为有一些细节上的东西我们需要注意,因为这些细节如果不注意的话,那么程序会报错,而且维护性较差. 引言 一.首先,还是那句 ...
- sql查询某字段的相同值
sql查询某字段的相同值: SELECT * FROM table WHERE col in (SELECT col FROM table GROUP BY col HAVING COUNT (col ...
- ubuntu 14.04 64bit 安装 oracle 11g r2
参考文章:http://tutorialforlinux.com/2016/03/09/how-to-install-oracle-11g-r2-database-on-ubuntu-14-04-tr ...
- Maven之依赖关系
在maven的管理体系中,各个项目组成了一个复杂的关系网,但是每个项目都是平等的,是个没有贵贱高低,众生平等的世界,全球每个项目从理论上来说都可以相互依赖.就是说,你跟开发Spring的大牛们平起平坐 ...
- 多线程篇四:ThreadLocal实现线程范围内变量共享
1.static实现线程范围内变量共享 package com.test.shareData; import java.util.Random; /** * 多线程范围内的数据共享 * @author ...
- String变量的两种创建方式
在java中,有两种创建String类型变量的方式: String str01="abc";//第一种方式 String str02=new String("abc&qu ...
- 编写可维护的 Gruntfile.js
load-grunt-tasks 插件 首先介绍下 load-grunt-tasks 这个插件. 我们一般都会把所有用到的插件以及插件的配置写到 Gruntfile.js 里面,对于小项目来说这个文件 ...