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 ...
随机推荐
- 数据挖掘:提取百度知道QA中的影视信息
1. 背景 网站上爬取了部分关于影视的百度知道QA,为了后续提高影视的搜索效果,需要基于百度知道QA的答案抽取相关的影视信息. 2. 流程 目前已有基础的媒资视频库信息,基于媒资视频库中的视频名称,构 ...
- Python之装饰器、迭代器和生成器
在学习python的时候,三大“名器”对没有其他语言编程经验的人来说,应该算是一个小难点,本次博客就博主自己对装饰器.迭代器和生成器理解进行解释. 为什么要使用装饰器 什么是装饰器?“装饰”从字面意思 ...
- [转]ASP.NET Core / MVC 6 HttpContext.Current
本文转自:http://www.spaprogrammer.com/2015/07/mvc-6-httpcontextcurrent.html As you know with MVC 6, Http ...
- intent 活动之间穿梭
1.从当前activity,跳转到当前应用程序的activity Intent intent = new Intent(MainActivity.this, Intent2Activity.class ...
- 注解实现AOP
package com.dch.service.aop; import java.text.SimpleDateFormat; import java.util.Arrays; import java ...
- struts2的基本配置
1.package标签下主要的点在namespace和name,extend上 extend 一般继承自struts-default.xml下,继承其拦截器及一些功能,这个已在本人的拦截器一文中有讲到 ...
- 位运算(5)——Power of Two
判断一个整数是不是2的幂. 关键是弄明白2的幂的二进制形式只有一个1. public class Solution { public boolean isPowerOfTwo(int n) { int ...
- lLinux安装JDK
1.在Linux中新建文件夹 mkdir /usr/local/java 2.上传jdk-7u55-linux-i586.tar到Linux中 3.解压文件 tar xzvf jdk-7u55-l ...
- 搭建 Spring 2.5.6 开发环境
1.jar 包准备: spring 2.5.6 的 jar 包(链接: http://pan.baidu.com/s/1skVFfcx 密码: mbiz),如图: commons-logging-1. ...
- 关于程序中使用servlet-api.jar和jsp-api.jar与服务器lib包jar包冲突的问题
问题描述: 程序中使用到javax.servlet.http.HttpServletRequest等类内容,然而这些类是依赖于tomcat容器lib包下的jar包,工程中导入这两个ja ...