Scala学习笔记02

本文介绍了Scala中的几种容器类型,包括List、元组(Tuple)、Set和Map。详细讲解了List的操作符:::和::的使用方法,展示了如何通过这些操作符进行列表的合并和元素的添加。同时,还介绍了元组的特性及其访问方式,以及Set和Map的基本用法。

Scala的容器:

List

  def listTest()={
    val list1 = List(1,2,3);
    list1.foreach((li: Int) => print(li + " ") );
    println();

    val list2 = List(4,5,6);

    //:::,合并两个列表
    var list3 = list1:::list2;
    list3.foreach((li: Int) => print(li + " ") );
    println();

    //::,在列表的开头添加进某个元素
    list3 = 0::list1;
    list3.foreach((li: Int) => print(li + " ") );
  }


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

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

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

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


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

元组代码示例:

object TupleTest {

  def main(args: Array[String]) {
    val pair = (1,2,"tuple");
    println(pair._1);
    println(pair._2);
    println(pair._3);
  }

}


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

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


Set:

代码示例:

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


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

可变和不可变集的区别:

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

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


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

Map:

代码示例:

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

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


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

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值