花了两个小时左右,学习了一下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. unity项目架构

    Unity 游戏框架搭建 (一) 概述Unity 游戏框架搭建 (二) 单例的模板Unity 游戏框架搭建 (三) MonoBehaviour单例的模板Unity 游戏框架搭建 (四) 简易有限状态机 ...

  2. pat02-线性结构3. 求前缀表达式的值(25)

    02-线性结构3. 求前缀表达式的值(25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 算术表达式有前缀表示法.中缀表示法和后缀表示法 ...

  3. [转]How to use IHttpContextAccessor in static class to set cookies

    本文转自:http://stackoverflow.com/questions/37329354/how-to-use-ihttpcontextaccessor-in-static-class-to- ...

  4. mysql四:数据操作

    一.介绍 MySQL数据操作: DML ======================================================== 在MySQL管理软件中,可以通过SQL语句中的 ...

  5. Django——CBV与FBV

    一.FBV FBV(function base views) 就是在视图里使用函数处理请求. 二.CBV CBV(class base views) 就是在视图里使用类处理请求. Python是一个面 ...

  6. Python爬虫《Python网络爬虫相关基础概念》

    引入 之前在授课过程中,好多同学都问过我这样的一个问题:为什么要学习爬虫,学习爬虫能够为我们以后的发展带来那些好处?其实学习爬虫的原因和为我们以后发展带来的好处都是显而易见的,无论是从实际的应用还是从 ...

  7. querySelector()与querySelectorAll()的区别及NodeList和HTMLCollection对象的区别

    querySelector().Document.Element类型均可调用该方法. 当用Document类型调用querySelector()方法时,会在文档元素范围内查找匹配的元素:而当用Elem ...

  8. C/C++函数指针,指针函数的用法,用处

     先看函数指针 int func2(int x); /* 声明一个函数 */ int (*q2) (int x); /* 声明一个函数指针 */ q2=func2;    /* 将func函数的首地址 ...

  9. QTablewidget 简单例子

    [1]QTableWidget简介 QTableWidget是QT对话框设计中常用的显示数据表格的控件. 学习QTableWidget就要首先看看QTableView控件(控件也是有”家世“的!就像研 ...

  10. sqlserver broker远端端点证书认证

    1:采用windows验证的方法: CREATE ENDPOINT InstInitiatorEndpoint STATE = STARTED AS TCP ( LISTENER_PORT = ) F ...