首页 > 其他分享 >03-集合

03-集合

时间:2024-07-25 17:09:22浏览次数:2  
标签:03 String val 10 println foreach 集合 Array

1. 数组

object CH_0205_Arrays {

  def main(args: Array[String]): Unit = {
    //1.声明数组
    val arr = Array[Int](1,4,5,0)
    //2.访问数组元素
    print(arr(0))
    //3.修改数组中的元素
    arr(0) = 10
    println(arr(0))
    //4.遍历数组
    arr.foreach(println)
  }
}

2. 链表

object CH_0206_List {
  def main(args: Array[String]): Unit = {
    //1.声明不可变链表
    val list1 = List(1,2,8,37)
    //2.遍历链表
    list1.foreach(print)
    //3.声明可变链表
    val list02 = new ListBuffer[Int]()
    //4.往可变链表中添加元素
    list02.+=(29,10,391,20,10)
    list02.foreach(println)
    //5.删除可变链表中的元素
    list02.-=(10)
    list02.foreach(println)
  }
}
  1. Set
object CH_0207_Set {
  def main(args: Array[String]): Unit = {
    //1.声明不可变Set
    val set01 = Set[Int](11,9,10,289,10,20)
    set01.foreach(println)
    //2.声明可变Set
    import scala.collection.mutable.Set
    val set02 = Set(11,9,10,289,10)
    set02.add(9999)
    set02.foreach(println)
  }
}

4.Tuple

object CH_0208_Tuple {

  def main(args: Array[String]): Unit = {
    //1.声明Tuple
    val tp01 = Tuple2(89,"Hello")
    val tp02 = Tuple3(190,"Great",189.90)

    //2.访问Tuple中的元素
    println(tp01._1)
    println(tp02._1)

    //3.迭代器遍历Tuple中的元素
    val iterator = tp02.productIterator
    while (iterator.hasNext){
      println(iterator.next())
    }
  }
}

5.Map

object CH_0209_Map {
  def main(args: Array[String]): Unit = {
    //1.声明Map
    val map = Map(("ID01", 190), "ID02" -> 120)
    //2.获取Map中的存在的Key的值,返回的结果是Option,Option有两种类型,一个是Some,一个是None,若Key存在,则返回的是Some
    val existKeyVal = map.get("ID01").get
    println(existKeyVal)
    //3.获取Map中的不存在的Key的值,返回的结果是Option,Option有两种类型,一个是Some,一个是None,若Key不存在,则返回的是None,取数据时会报错
    val noExistKeyVal = map.get("ID03").get
    println(noExistKeyVal)
    //4.使用getOrElse访问key的值
    val getVal = map.get("ID01").getOrElse(200)
    println(getVal)
    //5.遍历map中所有key的值
    for (elem <- map) {
      println(s"key: ${elem._1}, value: ${elem._2}")
    }
  }
}

6.map

object CH_0209_Map {

  def main(args: Array[String]): Unit = {
    val list = List(9, 10, 28)
    val listMap = list.map((x: Int) => {
      x * 10
    })
    listMap.foreach(println)
  }
}
  1. flatMap
object CH_0210_FlatMap {

  def main(args: Array[String]): Unit = {
    val listStr = List("Hello World","Great Job","Hello Job")
    //flatMap接收原有集合中每个词组并拆分成独立的单词生成新的集合,但随着数据量增大,内存空间会不断膨胀,使用迭代器模式解决此问题
    val listStrFlatMap = listStr.flatMap((str: String) => {
      str.split(" ")
    })
    listStrFlatMap.foreach(println)
  }
}

8.迭代器

object CH_0212_Iterator {
  def main(args: Array[String]): Unit = {
    val listStr = List("Hello World","Great Job","Hello Job")
    //使用迭代器的好处就是保证原有的数据集不改变,且中间的加工过程是不保存数据
    val iterator = listStr.iterator
    val flatMapItr = iterator.flatMap((str: String) => {
      str.split(" ")
    })
    val mapItr = flatMapItr.map((_, 1))
    mapItr.foreach((println))
  }
}

标签:03,String,val,10,println,foreach,集合,Array
From: https://www.cnblogs.com/crispy-bro/p/18322636

相关文章

  • Python的字典和集合
    一、字典1.定义字典字典和列表虽然类似,但是字典是无序的可变序列,并且可以像查字典一样去查找。字典的元素都是成对出现的,每个元素都是由冒号“:”和键值对(“:”左边的称为键或者Key,“:”右边的称为值或者Value)构成的,用“{}”标识,元素之间用逗号“‘,”分隔。字典的键必须是唯一......
  • day03
    微服务保护和分布式事务微服务保护微服务雪崩问题:某个微服务出现故障,导致调用链上的集群都被阻塞解决方案:请求限流:限制或控制接口访问的并发流量,避免服务因流量激增而出现故障。线程隔离:控制业务可用的线程数量,将故障隔离在一定范围内服务熔断:将异常比例过高的接口断开,拒......
  • SAP-MM-供应商对账平台(功能集合)
    *&---------------------------------------------------------------------**&ReportZMMD001*&*&---------------------------------------------------------------------**&抬头:供应商对账平台**&模块:......
  • JAVA集合 day7.24
    一.Collections类1.1Collections常用功能常用方法:publicstaticvoidshuffle(List<?>list):打乱集合顺序。publicstaticvoidsort(Listlist):将集合中元素按照默认规则排序。publicstaticvoidsort(Listlist,Comparator<?superT>com):将集合中元素......
  • 六、【Python】基础教程-【Python全掌握】六大基础数据类型:浮点、布尔、列表、元组、
    ......
  • ccfcsp 201803.2 碰撞的小球 100分代码
    本题是一道小模拟规模小难度在碰撞检测在写模拟题时的思路应该是先找到应该储存的信息是哪些,抽象出来,应该模拟的方法是哪些。类似oop。includeusingnamespacestd;constintL=1000;structball{intp;chard=1;//只可能为1或-1,表示方向}b[L+1];intmain(){int......
  • SS928&3403K开发环境搭建(二)
    1.序    在前一篇“SS928&3403K开发环境搭建(一)”中已经借助Ebaina搭建好的ubuntu对开发板做了测试,这篇记录从零开始搭建SS928&3403K的开发环境;2.开发前准备        下载VMware®Workstation16Pro16.1.0版本    下载ubuntu18.04开发镜像文件,我......
  • C++学习笔记(03)——通讯录管理系统设计
    记录一下利用C++来实现一个通讯录管理系统系统中需要实现的功能如下:添加联系人:向通讯录中添加新人,信息包括(姓名、性别、年龄、联系电话、家庭住址)最多记录1000人显示联系人:显示通讯录中所有联系人信息删除联系人:按照姓名进行删除指定联系人查找联系人:按照姓名查看指定联系人......
  • selenium.webdriver.Firefox 与 FirefoxOptions().add_argument('--headless') 不返回
    我注意到Firefox中的无头选项会在后台运行Firefox,而不会附加任何窗口,而且我还没有找到一种方法可以在后台运行Firefox,同时仍保留Firefox窗口的hwnd能够使用。我开始使用pyvda来获取AppViewFirefox,但是pyvda.get_apps_by_z_order没有返回任......
  • 使用stream对集合进行排序
    根据Hash值排序的,无序排序的List<ModuleVo>moduleList=newArrayList();Map<Integer,List<ModuleVo>>collectResult=moduleList.stream().collect(Collectors.groupingBy(ModuleVo::getProjectId));根据time进行升序排序,如下TreeMap<Integer,List<ModuleVo>......