ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

2022-08-08 第六组 Myy 学习笔记_Java_集合收尾部分2

2022-08-08 21:31:15  阅读:342  来源: 互联网

标签:Myy Java Stream 08 单元测试 斜杠 JUnit 测试方法


集合收尾部分2

讲完之后的重点:IO流、反射、网络通信


 

JUnit单元测试

JUnit是一个Java语言单元测试框架。

 

JUnit单元测试的好处:

1)可以书写一些列的测试方法,对项目的所有接口或者方法进行单元测试

2)启动后,自动化的测试

3)只需要查看最后的结果

4)每个单元测试的用例相互独立,由JUnit启动

5)添加,删除,屏蔽测试方法

 

jar包

如果要引入第三方的插件,xxx.jar的文件。

首先要把这个文件导入到我们的工程目录下

其次,要添加到工程的依赖目录中

 

 

 

 测试方法:

1.不能有返回值

2.不能有参数列表

3.必须有Test注解

 

JUnit断言

JUnit的所有的断言都包含Assert类中,这个类提供了很多有用的断言来编写测试用例。

只有失败的断言才会被记录。

 

1.assertEquals:检查两个变量或等式是否平衡

2.assertTrue:检查条件是否为真

3.assertFalse:检查条件是否为假

4.assertNotNull:检查对象是否不为空

5.assertNull:检查对象是否为空

 

断言不成功会抛异常,即使程序正常运行但是结果不正确,也会以失败结束。

 

JUnit注解

1.Test

2.Before:在测试方法执行之前执行的方法

 

 

 3.After:在测试方法执行之后执行的方法

 

命名规范

单元测试类的命名:被测试类的类名+Test

测试方法的命名:Test + 被测试方法的方法名

 

数组适合查询,链表不行。

面试题

集合的好多面试题

1.Hashtable和ConcurrentHashMap性能测试

 

2.ArrayList和LinkedList性能测试

 

注意:数组查询快,插入慢;链表插入快,查询慢

1)尾插数组快

2)遍历数组快

3)头插链表快

4)随机删除,如果要过滤,建议用LinkedList

 

开发中,以ArrayList为主

 

JDK8新增

Stream编程

容器对象功能的增强

我们可以将流看作流水线,这个流水线是处理数据的流水线

 

 

 

当我们使用一个流的时候,通常包括三个步骤:

1.获取一个数据源

2.执行操作获取想要的结果

3.每次操作,原有的流对象不改变,返回一个新的Stream对象

 

Stream有如下的几个特性:

1.Stream不存储数据,一般会输出结果

2.Stream不会改变数据源,通常情况下会生成一个新的集合

3.Stream具有延迟执行的特性,只有调用终端操作时,中间操作才会执行。

 

集合打印

 

 

规约(reduce)缩减,

把一个流缩减成一个值

可以实现对集合的求和,求乘积,求最值

 

排序:sorted

自然排序

临时排序

 

函数式接口

Consumer<T>:消费者  void accept(T t)

Supplier<>:供应商 T get()

Function 函数:R apply(T t),将一个数据转化成另一个数据

Predicate 断言:boolean test(T t):用来对指定数据类型数据进行判断 ,返回值类型是boolean

 

Optional类是Java 8为了解决null(空指针异常)问题

JDK8新增:

1,函数式接口

2.箭头函数(Lambda表达式)

3.Optional类

4.断言

5.Stream编程

 

Java IO流

------对于文件的操作

Input:把数据从物理内存加载到运行内存。(读文件)读进来

Output:把数据从运行内存写到物理内存。(写文件)写出去

Java.io包下的类

 

计算机的输入输出都是通过二进制完成  0和1

 

工具类:File操作文件的类

1、文件的路径

文件的路径

正斜杠:左斜杠,撇:/

反斜杠:右斜杠,捺:\

在Unix或Linux中,路径的分割采用正斜杠/。

在Windows中,路径分割采用反斜杠\。

 

在Java中,\代表转义。

 

在File类中,定义了路径分隔符的常量  -->  File.separator自动识别操作系统

 

File类的构造器

标签:Myy,Java,Stream,08,单元测试,斜杠,JUnit,测试方法
来源: https://www.cnblogs.com/JNMyy/p/16561013.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有