Java教程

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

本文主要是介绍2022-08-08 第六组 Myy 学习笔记_Java_集合收尾部分2,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

集合收尾部分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类的构造器

这篇关于2022-08-08 第六组 Myy 学习笔记_Java_集合收尾部分2的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!