花了两个小时左右,学习了一下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容器使用的更多相关文章

  1. 3.scala容器

    3.scala容器 a:focus { outline: thin dotted #333; outline: 5px auto -webkit-focus-ring-color; outline-o ...

  2. Java和Scala容器转换

    参考:https://blog.csdn.net/dymkkj/article/details/77921573 Java和Scala互操作的一个重要的内容就是容器的转换,容器是一个语言的数据结构,表 ...

  3. scala容器对象(转载)

    1Array 数组 Scala的数组是这个样子: val arr = new Array[String](3) 程序员们基本都看得懂,new 一个Array对象,它的类型是String,长度为3.对元 ...

  4. 【sparkSQL】SparkSession的认识

    https://www.cnblogs.com/zzhangyuhang/p/9039695.html https://www.jianshu.com/p/dea6a78b9dff 在Spark1.6 ...

  5. 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 ...

  6. Scala字符串与容器

    String 前文已经说明了字符串的声明方式: var s = "Hello World"; var s: String = "Hello World"; 在 ...

  7. learning scala 数组和容器

    数组:可变的,可索引的,元素具有相同类型的数据集合 一维数组 scala> val intValueArr = new Array[Int](3)intValueArr: Array[Int] ...

  8. spark快速开发之scala基础之1 数据类型与容器

    写在前面 面向java开发者.实际上,具有java基础学习scala是很容易.java也可以开发spark,并不比scala开发的spark程序慢.但学习scala可有助于更快更好的理解spark.比 ...

  9. scala学习手记36 - 容器基础

    scala的容器包括Set.List和Map.三种容器的特征和Java中一样.scala为每种容器都提供了可变和不可变两种版本,分别位于scala.collection.mutable或scala.c ...

随机推荐

  1. elasticsearch清空type下的所有数据

    DELETE /twitter/tweet/_query{"query": { "match_all": {} }} 注:twitter为index,tweet ...

  2. Web请求过程总结

    Web请求过程总结 1.CND架构图 图片来源:深入分析JavaWeb技术内幕(许令波著) 2.发起HTTP请求 发起一个HTTP请求就是浏览器建立socket通信的过程,HttpClient开源的通 ...

  3. 2.3 js基础--DOM

    一.javascript组成         ECMAScript:核心解释器[为我们提供好了最基本的功能:变量声明.函数.语法.运算].   兼容性:完全兼容.           DoM:文档对象 ...

  4. 吴恩达《Machine Learning Yearning》总结(31-40章)

    31.解读学习曲线:其他情况 下图反映了高方差,通过增加数据集可以改善. 下图反映了高偏差和高方差,需要找到一种方法来同时减少方差和偏差. 32.绘制学习曲线 情况:当数据集非常小时,比如只有100个 ...

  5. 操作系统管理CPU的直观想法

    CPU的工作原理 要想管理CPU,就要先学会如何使用CPU.我们先从一个程序的执行来看看CPU是如何工作的. void main(){ int i , sum; ; i < ; i++){ su ...

  6. MVC类库视图在UI使用方法

    在类库中固定文件:Controller Views  引用一下两个程序集(类库和UI项目都需要引用)(似乎只需要引用mvc的,build似乎在引用文件中不见了?有空测试一下) 如此方式,一个登录需要是 ...

  7. FCKEditor编辑器添加中文字体的方法

    默认情况下,FCKEditor在进行文本编辑时,无法使用中文字体.让其添加中文字体的方法: 1.打开 fckconfig.js 文件,找到第154行(大概),会发现: 程序代码: FCKConfig. ...

  8. ppt写作的注意事项

    PPT推荐字体及大小: 宋体严谨,适合正文,显示最清晰 黑体庄重,适合标题,或者强调区 隶书楷体,艺术性强,不适合投影 如果通过文字排版突出重点:加粗.加大字号.变色 PPT文字太多怎么办? 1.抽象 ...

  9. Spring MVC 如何加载静态html

    在spring mvc的xml文件最后面加上下面这一行<mvc:deault-servlet-handler/>

  10. 如何将bug杀死在摇篮里?

    阿里妹导读:在欧洲中世纪的传说中,有一种叫“人狼”的妖怪,就是人面狼身.它们会讲人话,专在月圆之夜去袭击人类.而且传说中对“人狼”用一般的枪弹是不起作用的,普通子弹都伤不到也打不死它,只有一种用银子作 ...