• Scala基础之集合


    seq,set,map特点

    1.Seq,是一组有序的元素。
    2.Set,是一组没有重复元素的集合。
    3.Map,是一组k-v对。

    Array

        array(不可变,可变);数据有序,可以放重复,不限制类型
            |
    Array, ArrayBuffer
    
    Array
    ArrayBuffer
    定义空:val array:ArrayBuffer[Any] = ArrayBuffer()
    
    val strings = Array("aa","bb")
    println(strings)
        result: [Ljava.lang.String;@1593948d
    

      

    List

          List(不可变,可变);数据有序,可以放重复,不限制类型
            |
    List, ListBuffer
    List
    ListBuffer
    定义空:val lb:ListBuffer[Any] = ListBuffer()
    

    Set

          Set(不可变,可变);无序,不可重复,不限制类型
            |
    Set, mutable.Set
    Set
    mutable.Set
    定义空:val muset:mutable.Set[Any] = mutable.Set()
    

    Map

          Map(不可变,可变);无序,K不能重复的K-V键值对集合
            |
    Map, mutable.Map
    源码 JDK1.8 之前  Entry
            JDK1.8 之后  Node => TreeNode
    
    mutable.Map定义空map
    	val map2:mutable.Map[String,Int] = mutable.Map()
    mutable.Map查找key,value;Option : 选项,对象只有2个 Some, None
    	val maybeInt:Option[String] = map2.get("e")
    maybeInt可以通过get获取到value
    	maybeInt.get
    
            val maybeInt1: Option[Int] = map1.get("f")
    
            // Option类型专门为了解决空指针问题设计的
            // Option : 选项,对象只有2个 Some, None
            if ( maybeInt1.isEmpty ) {
                println("没有对应key的值, 提供默认值 : " + maybeInt1.getOrElse(0))
            } else {
                println("对应key的值为" + maybeInt1.get)
            }

    Tuple

           Tuple(不可变);最多存放元素的数量为22个;类型没有约束;通过顺序号进行访问;组,可以默认排序,先比较第一个,如果相同,比较第二个,依此类推
    
    元组的定义
    	val t : (Int, String, Int) = (1, "zhangsan", 30)
    访问方式:
    	通过._数字方式访问
    Map嵌套元组
            	val map = Map(("a", 1), ("b", 2), ("c", 3))
    	可以foreach(t=>t._1 + "=" + t._2)来取key,value
    

    Queue

            Queue(不可变,可变)
                 |
    immutable.Queue,mutable.Queue
    
    mutable.Queue
    定义空
    	val queue:mutable.Queue[String] = mutable.Queue()
    添加&获取后队列中踢除
    enqueue,dequeue
    

     

    本文为原创文章,转载请标明出处
  • 相关阅读:
    UIPickerView-一.01-
    闭包-01-Swift
    Swift 入门-01-概述
    git使用命令行-01-自己操作的
    FetchedResultsController-03-CoreData相关
    SQLite-05-增删改查
    Sqlite函数总结-04
    List<string>转xml
    比较两个List<T>是否相同
    获取DataTable前几条数据
  • 原文地址:https://www.cnblogs.com/harden13/p/14823862.html
Copyright © 2020-2023  润新知