- 博客(78)
- 收藏
- 关注
原创 JavaStream流
在java.util.stream util包下的新增API,可以用于操作集合或者数组的数据。功能强大(提供了很多结合Lambda的API),性能高效(有很多优化),代码简洁(Lambda),可读性好。传统方案用Sream流把stream看成一个传送带,上面有集合中的东西。新方法只需要一行。步骤:1.获取集合或数组的Stream流2.调用流的各种方法。
2024-11-04 19:50:24
393
原创 存储和读写方案
文件存储在磁盘中,而不是内存中。断电或者程序终止,文件还在。广义的文件包括文件夹。不能读写文件里面存储的数据,所以怎么办?用IO流。
2024-11-03 14:21:40
297
原创 JavaSet集合
打印出的还是张三,并不是我们想象的无重复,去掉多余的张三和李四,这是因为他们的哈希值不一样,在建立哈希表的时候自然被散开了。解决:在学生类中重写1.先令哈希值相同2.重写equals,以此在建立链表的时候判断出相同。
2024-10-27 19:51:16
411
原创 Java泛型Generic
定义类,接口,方法时,同时声明了一个或多个类型变量,如泛型类,泛型接口,泛型方法泛型可以约束在编译阶段能操作的数据类型,并自动检查。如ArrayList List =new ArrayList();E代表element,元素类型,T代表返回值类型,K键类型,V值类型。一般用E就可以。
2024-10-24 18:32:01
386
原创 Java面向对象高级
Java提供关键字interface定义出接口,这是一种特殊类。JDK 8之前,接口中只能定义常量和抽象方法。接口中定义常量,默认加上括号里面的,(public static final)String MY_NAME=ARVA,括号里面的不写但是会默认加上。(public abstract) void run,括号里面的不写但是会默认加上。接口不能创建对象。接口是用来被类**实现(implement)**的,实现接口的类称为实现类,一个类可以实现多个接口。
2024-10-19 19:20:57
639
原创 Java继承
提高代码复用性,因为有的类会有重复内容。extends子类可以继承父类的非私有成员(public)子类对象其实是由子类和父类多张设计图创建出来的对象。
2024-09-25 19:04:08
252
原创 Java面向对象编程
先设计对象的模板(设计图)创建对象的格式:类名 对象名 = new 类名();s1.name=“王祖贤”把数据和对数据的处理(比如打印函数)放到同一个类中。变量存在栈里,变量指向对象,对象存在堆里,对象有类地址,类存在方法区中。
2024-09-24 20:46:33
681
原创 Java程序流程控制
if与C语言相同switch格式同C语言注意表达式只能是byte,short,int,char(同C,只不过C语言没有不支持double,float,longcase的值不能重复,且只能支持字面量12,不能是变量与C语言相同的是,如果没有break,会把下面没有遇到break之前的都执行,因此相同的可以合并,避免程序的重复。
2024-09-18 14:07:15
177
原创 Java中的数组
动态初始化数组容量,不事先存入具体的数据。或者String[] names;只确定数组的类型和存储数据的。实际上全部默认初始化为0。
2024-09-18 14:06:14
222
原创 树Tree
具有层级结构一对多Node结点root根Children孩子Parent双亲Sibling兄弟 有同一个双亲leaf 叶子 没有孩子结点的层次(level):从根结点算起,根为第一层,它的孩子为第二层……结点的度(degree):结点拥有的子树数树的度:一棵树中最大的结点度数。
2024-06-12 21:25:14
898
原创 队列Queue
数组实现会碰到的问题是数组的大小如果不够的话,重新复制到一个新的更大的数组中的时间复杂度和空间复杂度都很高O(n ),也就是下一个位置在(i+1)%数组大小的位置 ,前一个位置在(i+N-1)%N。如果出现下图,那么显然开头的几个位置会被浪费。也可能出现多占很多内存,比如100个大小的数组只放了一个元素。头部插入,尾部删除,设置rear和front两个指针变量。front检查队列是否为空,不为空返回a[front}删除 Dequeue or Push。插入 Enqueue or Push。
2024-06-12 16:49:32
344
原创 中缀表达式和前缀后缀
对于人来说,中缀表达式是最容易读懂的。但是对于机器来说,想要省略掉括号那部分内存,就要用前缀表达式和后缀表达式。从编程的角度来讲,后缀表达式最容易解析,求值的时间和内存的代价最小。但是,想要不带括号无歧义,且不需要考虑运算符优先级和结合性。在中缀表达式中,操作数可能与两个操作符相结合。后缀表达式 逆波兰表达式。前缀表达式,波兰表达式。
2024-06-08 20:00:19
296
原创 LCS板子加逆向搜索
题目描述:给定一个字符串s和一个字符串t,输出s和t的最长公共子序列。输入格式:两行,第一行输入s,第二行输入t。输出格式:输出s和t的最长公共子序列。如果有多种答案,输出任何一个都可以。说明/提示:数据保证s和t仅含英文小写字母,并且s和t的长度小于等于3000。
2024-01-26 11:14:21
741
原创 DP LIS
这是一个简单的动规板子题。给出一个由nn≤5000个不超过106的正整数组成的序列。请输出这个序列的的长度。最长上升子序列是指,从原序列中取出一些数字排在一起,这些数字是的。
2024-01-25 15:50:50
400
原创 素数的欧拉筛
合数必定能被分解为质因数//原因:假如有一个合数,那么它必定拥有因数,如果因数有一个为合数,那么该合数一定能继续分解为两个因数相乘,直到分解到不可以再分解为止.因此合数一定可以分解为一个比他小的质数乘一个比他小的数字.即分解到一个质数和一个比他小的数字相乘,那么如果我们在遍历数字时,(从2,3,4等等)去掉这个数字之前的质数的倍数,那么必定可以在遍历到合数之前筛掉该合数.在大于1的数的范围内,那么如果我们要找质数,那么只需要找到合数,然后将合数去掉,那么便只有质数.,分别表示查询的范围和查询的个数。
2024-01-25 11:14:19
862
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人