Scala学习笔记02

Scala的容器:

List

  1. def listTest()={  
  2.   val list1 = List(1,2,3);  
  3.   list1.foreach((li: Int) => print(li + " ") );  
  4.   println();  
  5.   
  6.   val list2 = List(4,5,6);  
  7.   
  8.   //:::,合并两个列表  
  9.   var list3 = list1:::list2;  
  10.   list3.foreach((li: Int) => print(li + " ") );  
  11.   println();  
  12.   
  13.   //::,在列表的开头添加进某个元素  
  14.   list3 = 0::list1;  
  15.   list3.foreach((li: Int) => print(li + " ") );  
  16. }  


操作符::::,合并两个列表。

操作符:::,在列表的开头添加进某个元素。

表达式“0 :: list1”中,::是它右操作数,列表list1的方法。如果一个方法被用作操作符标注,如a * b,那么方法被左操作数调用,就像a.*(b)——除非方法名以冒号结尾。这种情况下,方法被右操作数调用。因此,1 :: list1里,::方法被list1调用,传入0,像这样:list1.::(0)。

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


Scala的另一种容器对象:元组(tuple)与列表(List)一样,元组也是不可变的,但不同的时,元组可以包含不同类型的元素。

元组代码示例:

  1. object TupleTest {  
  2.   
  3.   def main(args: Array[String]) {  
  4.     val pair = (1,2,"tuple");  
  5.     println(pair._1);  
  6.     println(pair._2);  
  7.     println(pair._3);  
  8.   }  
  9.   
  10. }  


访问时,用 下划线+下标。

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


Set:

代码示例:

  1. def setTest()={  
  2.  var set = Set(4,5,6);  
  3.   set += 7;  
  4.   println(set);  
  5. }  


set没有这么简单,他扩展了可变和不可变的两种set,举例的是可变的set。若要实现不可变集,则需要:import scala.collection.mutable.Set。

可变和不可变集的区别:

要向集加入新的变量,可以在集上调用+,传入新的元素。可变的和不可变的集都提供了+方法,但它们的行为不同。可变集将把元素加入自身,不可变集将创建并返回一个包含了添加元素的新集。

同时也可以显示地调用HashSet等。set容器的内容暂时先带过,需要补充。


---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Map:

代码示例:

  1. def mapTest()={  
  2.   val map = Map(1->"一",2->"二");  
  3.   println(map);  
  4. }  
*和Set一样,Map也有两种扩展。和Set类似。

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


看得有点匆忙,没办法,以后有空再补上。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值