Scala 泛型介绍和应用实例2 | 学习笔记

简介: 快速学习 Scala 泛型介绍和应用实例2

开发者学堂课程【Scala 核心编程 - 进阶Scala 泛型介绍和应用实例2学习笔记,与课程紧密连接,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/610/detail/9151


Scala 泛型介绍和应用实例2


内容介绍

一.Scala 泛型应用案例3

二.总结


一、Scala 泛型应用案例3

>要求

1)定义一个函数,可以获取各种类型的 List 的中间 index 的值

2)使用泛型完成

def getMidEle[A](l:  ListA])={

l(l.length/2)

}

下面看一下这个泛型不同的应用场景:

image.png

package com.atguigu.chapter18.generic

object GenericDemo03 {

def main(args: Array[String]): Unit = {

val list1 = List("hello", "dog", "world")

val list2 = List(90,10,23)

println(midList[stringl(list1))// “dog"

println(midList[Int](list2))// 10

}

/*

要求

定义一个函数,可以获取各种类型的 List 的中间index的值使用泛型完成

*/

def midList[E](l: List[E]): E= {

l(l.length / 2)

}

}

点击运行:

image.png

以上就是Scala应用的第三个案例


二、总结

1.泛型基本介绍

1)如果我们要求函数的参数可以接受任意类型。可以使用泛型,这个类型可以代表任意的数据类型。

2)例如 List,在创建 List 时,可以传入整形、字符串、浮点数等等任意类型。那是因为List在类定义时引用了泛型。比如在Java中:public interface List<E> extends Collection<E>

2.Scala 泛型应用案例1

要求:

1)编写一个Message类

2)可以构建Int类型的MessageString类型的Message.

3)要求使用泛型来完成设计(说:不能使用Any)

3.Scala 泛型应用案例2

要求

1)请设计一个EnglishClass(英语班级类),在创建EnglishClass的一个实例时,需要指定[班级开班季节(spring,autumnsummerwinter)、班级名称、班级类型]  

2)开班季节只能是指定的,班级名称为string,班级类型是(字符串类型"高级","初级班"..)或者是 Int类型(12,3等)

3)请使用泛型来完成本案例.

4. Scala 泛型应用案例3

>要求

1)定义一个函数,可以获取各种类型的 List的中间index的值

2)使用泛型完成

相关文章
|
5月前
|
SQL Java 关系型数据库
Scala应用 —— JDBC的创建
这篇文章介绍了如何使用Scala实现JDBC连接。首先,通过在pom.xml添加MySQL JDBC驱动依赖,然后使用`Class.forName()`加载驱动,接着创建连接对象。初始化执行器涉及创建执行器对象和设置参数。执行操作时,根据DML(数据修改语言)和DQL(数据查询语言)返回不同结果。文章提出了一个柯里化的`jdbc`函数,以处理不同操作步骤和多类型结果。结果类型通过枚举和抽象类`Three`的子类来表示,包括异常、DML影响行数和DQL查询结果。最后,展示了`jdbc`方法的实现,以及如何处理结果并转换为具体对象。代码示例中,查询结果被转换为`Test`对象数组并打印。
52 2
Scala应用 —— JDBC的创建
|
5月前
|
数据采集 JSON 数据处理
一步步实现知乎热榜采集:Scala与Sttp库的应用
使用Scala和Sttp库,结合代理IP,本文阐述了爬取并处理知乎热榜数据的方法。首先,确保安装Scala和SBT,然后在`build.sbt`引入Sttp等相关依赖。代码中,设置代理服务器信息、User-Agent和Cookie,发送GET请求获取数据。解析JSON数据后,归类和统计不同类型条目的数量,例如文章和问题。运行示例输出归类和统计结果,为数据分析提供基础。
一步步实现知乎热榜采集:Scala与Sttp库的应用
|
4月前
|
编译器 Scala
scala-柯里化、隐式转换、泛型、upperbound、viewbound、contextBound
scala-柯里化、隐式转换、泛型、upperbound、viewbound、contextBound
26 0
|
5月前
|
分布式计算 Java 大数据
Scala:样例类、模式匹配、Option、偏函数、泛型(三)
Scala:样例类、模式匹配、Option、偏函数、泛型(三)
68 0
|
分布式计算 Java 大数据
|
Java Scala
scala中的泛型
scala和Java一样,类和特质、方法都可以支持泛型。我们在学习集合的时候,一般都会涉及到泛型。
86 0
|
Java Scala 开发者
Scala 下界介绍和应用实例 | 学习笔记
快速学习 Scala 下界介绍和应用实例
Scala 下界介绍和应用实例 | 学习笔记
|
Scala 开发者
Scala 上界介绍和应用实例2 | 学习笔记
快速学习Scala上界介绍和应用实例2
Scala 上界介绍和应用实例2 | 学习笔记
|
Java Scala 机器学习/深度学习
[Scala]Scala学习笔记一 基础
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/SunnyYoona/article/details/76037690 1.
1142 0
|
4月前
|
分布式计算 资源调度 Java
Scala+Spark+Hadoop+IDEA实现WordCount单词计数,上传并执行任务(简单实例-下)
Scala+Spark+Hadoop+IDEA实现WordCount单词计数,上传并执行任务(简单实例-下)
43 0
下一篇
无影云桌面