`
白色毒药
  • 浏览: 4576 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

scala 问题索引

 
阅读更多

写原型的时候由于需要大量用到模式匹配和高阶函数,所以使用了scala

 

遇到的问题索引如下:

 

 

1. 如何把java的list转换成scala的list

import scala.collection.JavaConversions._

然后对java的list调用 toList方法

 

2. 如何定义字段,使得可以和java bean兼容

在每个字段前加上 @BeanProperty

 

3. map 的 遍历方法,如foreach 方法怎么写

map.foreach {elem:(String, String) => process(elem._1, elem._2)}

 

4. 从map中按照key取值,如果不存在就初始化,怎么写能简单写

map.get(key).getOrElse{initElem()}

 

5. 如何 match case 匹配正则

使用提取器

val Pattern = """(\w+)\.(\w+)""".r

case Pattern(first, second) => doSome(first, second)

 

 

6. 如何break 循环

import scala.util.control.Breaks._

breakable {

  for( elem <- collection ) {

          // do something

          break()

     }

}

 

7 如何简化log声明

trait LogTrait {

  val logger = LoggerFactory.getLogger(getClass)

}

 

8 容易忽略的一个问题

def a = new b 和 val a = new b 都是合法的声明, 但是前者是方法,由于括号是可以省略的,因此对前者来说,a.x 每次都得到一个新的a

分享到:
评论

相关推荐

    scala详细介绍_word_带索引_非扫描版

    同时,Scala支持**子类继承**和**混入机制**,避免了传统多重继承可能导致的问题。 函数式编程是Scala的一个关键特性。它支持**匿名函数**、**高阶函数**和**嵌套函数**,使得函数可以像其他值一样被传递和操作。**...

    Scala考试题1

    - 使用 `zipWithIndex` 将列表元素与其索引组合,形成新的列表。 19. **Scala 版本 wordcount**: - 处理给定的字符串列表,统计单词出现的次数。 20. **map 和 foreach 的区别**: - `map` 返回一个新的集合,...

    scaladex:Scala软件包索引

    ScalaDEX,全称为Scala软件包索引,是一个专门为Scala编程语言设计的在线仓库搜索引擎。这个平台允许开发者方便地查找、探索和引用Scala相关的开源库和项目,极大地简化了Scala开发者的依赖管理和包发现过程。...

    Scala的List类方法整合

    ### Scala的List类方法整合 在Scala编程语言中,`List` 类是处理有序集合的一种常见方式。本文将详细介绍 `List` 类中的多种方法及其用途,帮助开发者更好地理解和使用这些功能。 #### 1. `def + (elem: A): List...

    mongo-scala-drive的使用demo

    这个驱动还支持更复杂的查询、聚合框架和其他高级特性,比如索引、副本集和分片。在实际应用中,还需要处理错误和异常,以及确保资源(如客户端和数据库连接)在使用后被适当关闭。 通过深入研究 `mongo-scala-...

    scala习题精选100道附带解析

    ### Scala习题精选知识点解析 #### 1. 关于与Scala进行交互的基本方式REPL的说明 - **知识点概述**:REPL(Read-Eval-Print Loop)是一种交互式的编程环境,用户可以在其中输入代码,系统立即执行并显示结果。在...

    scala eclipse 插件

    - 如果遇到性能问题,可能是因为索引或构建过程占用了大量资源,可以在"Preferences"中调整索引更新频率或内存分配。 总的来说,Scala Eclipse插件是Scala开发者不可或缺的工具,它极大地增强了Eclipse作为Scala...

    Scala-part2集合框架

    序列`Seq`是一种有序的集合,它允许重复的元素,并且可以通过索引访问每个元素。 ##### 不可变序列 在Scala中,不可变序列通常是指`List`,它是最常用的不可变序列之一。默认情况下,`List`是从`scala.collection....

    scala编程基础

    可以通过索引访问元素,支持常见的数组操作。 - **映射**:映射用于存储键值对。可以使用`Map`或`HashMap`等类型。 - **元组**:元组用于表示固定大小的有序集合。例如`(1, "Hello")`表示一个包含整数和字符串的元组...

    Scala的String类方法整合

    ### Scala的String类方法整合 在Scala编程语言中,`String` 类是处理文本数据的基础。本文将对 `String` 类中的方法进行详细介绍,并提供它们的功能概述与应用场景,旨在帮助开发者更好地理解和应用这些方法。 ###...

    scala连接redis哨兵模式 demo 使用scala的redis库(csdn)————程序.pdf

    4. 配置哨兵服务器:在Scala代码中,需要指定一个由哨兵实例组成的集合,以及主服务器名称、密码(如果有的话)、以及数据库索引。 5. 数据操作:通过实例化后的SentinelMonitoredRedisClient对象,程序可以执行...

    Scala里的数组方法

    ### Scala里的数组方法 在Scala语言中,数组作为一种基本的数据结构,在处理大量数据时非常有用。Scala提供了丰富的数组操作方法,这些方法可以帮助开发者更高效、更简洁地进行数组的管理和操作。下面将详细介绍...

    对java、scala等运行于jvm的程序进行实时日志采集、索引和可视化

    总结来说,实时日志采集、索引和可视化是现代IT系统不可或缺的部分,对于Java和Scala等JVM语言的应用来说,通过Log4j等日志框架输出日志,再结合Logstash、Fluentd或Beats进行收集,Elasticsearch负责存储和索引,...

    scala学习笔记

    - **数组操作**:数组可以通过索引访问元素,支持修改操作。 - **列表操作**:列表是不可变的,提供了丰富的操作方法,如添加、删除等。 - **元组**:元组是一种固定大小的数据结构,可以包含不同类型的数据。 - **...

    scala-dddbase-core_2.10-0.1.23.zip

    【标题】"Scala-DDD-Base-Core_2.10-0.1.23.zip" 是一个基于Scala编程语言的领域驱动设计(DDD)基础框架的版本压缩包,适用于Scala 2.10环境。这个框架的核心目标是提供一个结构化的方法来构建复杂的企业级应用程序...

Global site tag (gtag.js) - Google Analytics