Scala day4(tuple, set and map)

Foreword

Hi!! my dear friends, are you lazy at today?? Oh! I am also lazy sometimes, but you will know keep study that's a right way at last. Now!! let's start new travel about Scala.

Text

The all Codes in file day3.scala, like the below program:

scala 复制代码
import scala.collection.mutable
import scala.collection.immutable.HashSet

object day3 {
  def main(args:Array[String]): Unit = {
    System.out.println("Scala is make me happy!!");
    Tuple_operation();
  }

  def Tuple_operation(): Unit = {
//    val empty_tup = ();
//    System.out.println(empty_tup);
    val pair = (81,"number","Y");
    System.out.println(pair);
//    pair(0) = 5;
    System.out.println(pair(0));
    System.out.println(pair(2));
    System.out.println(pair(1));
//    System.out.println(pair[1]);
    System.out.println(pair._1);
    System.out.println(pair._2);
    System.out.println(pair._3);

    var capital = Set("Beijing","Tokyo","London");
    capital += "Paris";
    System.out.println(capital);
    System.out.println(capital.contains("Washington"));

    val exam = Set("123","456");
    System.out.println(exam);

    val Musicset = mutable.Set("One day","Lemon Tree");
    Musicset += "Tomorrow will be better";
    System.out.println(Musicset);

    Musicset.+=("Waiting for love");
    System.out.println(Musicset);
    Musicset.+=("MoonLight");
    System.out.println(Musicset);
    Musicset += "Oblivion";
    System.out.println(Musicset);

    var video = mutable.Set("KaSha","Hero");
    System.out.println(video);
//    Musicset = video;

    var Name = HashSet("Tom","Sam");
    System.out.println("HashSet:");
    Name += "Amy";
    System.out.println(Name);
    Name += "Pan"
    System.out.println(Name);

    val letters = HashSet("ABC","DEF","RTF");
    System.out.println(letters);

    val MAP = mutable.Map[String,String]();
    MAP += ("music" -> "后来");
    MAP += ("movie" -> "第一滴血")
    MAP += ("game" -> "war3");
    System.out.println(MAP);
    System.out.println(MAP("game"));
    System.out.println(MAP("music"));
    System.out.println(MAP("movie"));

    val Mapper = Map(1 -> "A",2 -> "B",3 -> "C");
    System.out.println(Mapper);
    System.out.println(Mapper(1));
    System.out.println(Mapper(2));
    System.out.println(Mapper(3));
      
  }
}

The first example, it's about the tuple defined and get the tuple values. It like the below Codes:

scala 复制代码
	val pair = (81,"number","Y");
    System.out.println(pair);

    System.out.println(pair(0));
    System.out.println(pair(2));
    System.out.println(pair(1));

    System.out.println(pair._1);
    System.out.println(pair._2);
    System.out.println(pair._3);

Output Result:

From the above Codes, we know the process of tuple type defined. Through subscript couldn't gain value at the previous relase. In 3.6.4 relase, the reason is like the below pictures:

It's use apply() function, it's like List type, so it could use subscript to gain the tuple value.

Next, the example is set type declared, codes like the below program:

scala 复制代码
    var capital = Set("Beijing","Tokyo","London");
    capital += "Paris";
    System.out.println(capital);
    System.out.println(capital.contains("Washington"));

    val exam = Set("123","456");
    System.out.println(exam);

Output Result:

From the Output Result, we know var type could let set type mutable , contains() function, it could judge data in the set. Val type couldn't change the set element.

Then, we look the mutable set, it like the below codes:

scala 复制代码
 	val Musicset = mutable.Set("One day","Lemon Tree");
    Musicset += "Tomorrow will be better";
    System.out.println(Musicset);

    Musicset.+=("Waiting for love");
    System.out.println(Musicset);
    Musicset.+=("MoonLight");
    System.out.println(Musicset);
    Musicset += "Oblivion";
    System.out.println(Musicset);

    var video = mutable.Set("KaSha","Hero");
    System.out.println(video);
//    Musicset = video;

Output Result:

From the above program, we know val type couldn't limit the mutable set , the reason is mutable set is change itself , isn't change the Musicset Object. if we uncomment, then new Object video will assign value to Musicset Object, but the val type couldn't permit the operation and pop error. And set is disordered.

After, we watch the example about immutable set, like the below codes:

scala 复制代码
 	var Name = HashSet("Tom","Sam");
    System.out.println("HashSet:");
    Name += "Amy";
    System.out.println(Name);
    Name += "Pan"
    System.out.println(Name);

    val letters = HashSet("ABC","DEF","RTF");
    System.out.println(letters);

Output Result:

From the result, we know var type could effect the immutable set, it also could add element to set.

At last, we look this codes:

scala 复制代码
	val MAP = mutable.Map[String,String]();
    MAP += ("music" -> "后来");
    MAP += ("movie" -> "第一滴血")
    MAP += ("game" -> "war3");
    System.out.println(MAP);
    System.out.println(MAP("game"));
    System.out.println(MAP("music"));
    System.out.println(MAP("movie"));

    val Mapper = Map(1 -> "A",2 -> "B",3 -> "C");
    System.out.println(Mapper);
    System.out.println(Mapper(1));
    System.out.println(Mapper(2));
    System.out.println(Mapper(3));

Output Result:

From the program result, we know map type has two ways to create it. One is obviously point itself all types and haven't put datas , anthor is directly put datas, it could identify these datas corresponding itselves types.

In the end

I gratitude for your watch my articles, if you still learn the Scala, you are excellent, I admire you, I hope you could point some mistakes in my passages. The reason is I'm not a smart man. Please you remember: anything, you must insist do it at last that you will become winner in this game. Your Pan.【One human low-quality male】

相关推荐
强化实验室5 天前
如何设计基于吖啶生物素,Acridinium-Biotin的高效生物检测体系?
flask·scala·pyqt·fastapi·web3.py
m0_7482546612 天前
Perl 变量类型
spark·scala·perl
是阿威啊23 天前
【用户行为归因分析项目】- 【企业级项目开发第五站】数据采集并加载到hive表
大数据·数据仓库·hive·hadoop·spark·scala
是阿威啊1 个月前
【用户行为归因分析项目】- 【企业级项目开发第四站】模拟三类用户行为数据上传到Hadoop
大数据·hadoop·分布式·sql·scala
今天没有盐1 个月前
Python字符串操作全解析:从基础定义到高级格式化
后端·scala·编程语言
是阿威啊1 个月前
【用户行为归因分析项目】- 【企业级项目开发第一站】项目架构和需求设计
大数据·hive·hadoop·架构·spark·scala
代码于老总1 个月前
【Scala 技巧】用隐式类给 String “开挂”:一行代码实现手机号 / 身份证号校验
scala
scala舔狗汪1 个月前
scala的隐式对象和隐式类
scala
是阿威啊1 个月前
【maap-analysis】spark离线数仓项目完整的开发流程
大数据·分布式·spark·scala
豚踢兔x1 个月前
正则表达式应用-手机号打码
scala