- 博客(25)
- 收藏
- 关注
原创 Stream流
Stream.of(1,2,3,4,5)//也可以传递引用数据类型的数组,但是不可以传递基本数据类型,(会把数组当作一个元素传递)终结方法:比如foreach方法(返回值为void)、统计count(返回值是一个整数)、toArray、collect。获取单列集合后得到stream流,如hm.keySet().stream() 或者是entrySet。中间方法:filter、limit、skip、distinct、concat、map。结合了lambda表达式,简化集合、数组的操作。
2024-08-25 12:28:40
278
1
原创 Java基础|集合
三个特点:无序、无索引、不重复1. HashSet为什么存和取的顺序不一样?遍历的顺序和存放的顺序可能不同2. 为什么没有索引?由数组、链表、红黑树实现3. 利用equals和hashCode去重。
2024-06-29 16:31:41
252
原创 Java基础|数据结构(红黑树)
红黑树的增删改查的处理性能都很好,旋转次数相对于平衡二叉树少很多,而且红黑颜色就是一个变量,很容易更改。红黑树是一种自平衡的二叉查找树(不是平衡二叉树,高度不平衡,满足特有的红黑规则即可。
2024-06-29 14:33:28
196
原创 Java集合进阶|泛型
泛型类:当一个类中,某个变量的数据类型不确定时,可以用泛型类比如public class ArrayList<E>size++;泛型方法:直接定义在方法上的泛型,比如public <E> static void addall(ArrayList<E>list,E...e)泛型接口:实现类延续泛型,创建实现类对象时再确定类型。
2024-06-28 12:03:21
311
原创 java集合|04 LinkedList
底层数据结构是双链表,查询慢,但是首尾操作速度快;关于首尾操作有部分特有的api。linkedlist源码分析:使用尾插法插入元素。
2024-06-28 10:57:28
140
原创 java | 02List
迭代可以通过上篇文章说的三种,或者使用get方法或listiterator(在遍历过程中可以添加元素)通过索引进行修改,如果希望 删除值为1的元素,可以通过如下方法。增删改查:add、remove、get、set。previous可以逆向获取元素。如何判断什么时候用什么迭代器。
2024-06-27 10:47:42
169
原创 java|01集合迭代器
不能用集合的方法进行增加或者删除 :但是可以通过迭代器里面的remove方法进行删除。注意这其中的next方法 获取元素+移动指针。集合方法获得迭代器,迭代器判空,获取元素。不改变集合中原有的元素。
2024-06-24 21:30:47
165
1
原创 算法成长日志——归并排序
排序过程主要是对记录的排序码进行比较和记录的移动过程,因此排序的时间复杂性以算法执行中的数据的比较次数和数据移动次数来衡量。 内部排序通过过程中所依据的原则不同可以分为三类: 1.插入排序 2.归并排序 3.快速排序 一、插入排序 直接插入排序 #include <stdio.h> void insertSort(int a[],int n) { for(int i = 1;i < n;i++) { int j = i-1;
2021-11-16 09:33:32
176
原创 python数据获取——爬虫
1. HTML简介 2.json和Xpath简介 3.Scrapy库的介绍 4.静态页面的数据获取 5.动态页面的数据获取 1.HTML简介 网页文件本身是一种文文件,通过在文本文件中添加标记符,可以告诉浏览器如何显示其中的内容。 常用的标签: h1 表示标题1 h2变小 <p><b>对齐(加上属性可以居中对齐)<b>表示加黑 <br>标签表示换行{文本文件中加回车没有用必须要用br回车换行} <pre>定义预格式..
2021-11-16 09:30:58
258
原创 python——第八章面向对象程序设计
目录 1.面向对象概念 2.类和实例 3.属性 4.继承和多态 5.设计实例 8.1面向对象程序设计 oo 以对象为中心的思维方式 封装性 :将数据与操作捆绑在一起,创造出一个新的类型,高内聚,低耦合 继承性:子类可以对父类的行为进行扩展、覆盖、重定义,龙生九子 多态性:一个接口形式,多种实现方法 python是面向对象的高级语言,每一个变量都是一个对象 8.2类和实例 class<类名>: <语句块>是属性和方法 class T...
2021-11-09 09:32:26
663
原创 python——文件
1.文件和流 2.文件对象 3.文件的基本操作 4.随机文件的读写 5.其它文件读写 6.对象序列化 7.1 文件和流 文件是持久化的数据 可以读一次或有限次数的数据序列(有序数据的集合) 流的起点和终点 输入流和输出流:流的起点:输出流 流的终点:输入流 先流入程序再输出程序 import os try: file1 = open("data",'w') file1.write("10000") except FileNotFoundErr..
2021-11-02 09:33:09
217
原创 python——第六章 函数
1.函数的定义与调用 2.函数的参数及返回值 3.变量的作用域 4.函数的递归调用 5.函数式编程 6.1 函数的定义与调用 格式: def<函数名>(<参数列表>): <函数体> 与c不同的是,没有规定返回值类型 调用时:<函数名>(<参数列表>) tips: python不允许在函数未声明之前进行引用或调用 6.2函数的参数和返回值 1.参数的传递与修改 对于不可变类型int fl...
2021-10-26 09:30:35
374
原创 python第五章——组合数据类型
1.组合数据类型概述 2.序列 3.集合 4.字典 一、序列 若干个有序数据组成序列 基本数据类型:列表 元组(一旦定义后不可更改) 范围(range) 文本数据类型(字符串)(一旦定义好之后不可更改) 二进制数据类型(字节序列,字节数组) 列表 数组 长度可变 长度不可变 元素可以为多种类型 元素必须为同一类型 创建列表的几种方法: 1.a=[1,4,'q'] 2.b=list((1,4,'q'))从元组生成 3.c=list() 4.c=[] 5
2021-10-19 09:35:21
406
原创 算法成长日志——分治法(二分查找,幂运算,大整数乘法)
分治法的主要思想为: 1.将问题划分为许多子问题,化整为零,直到划分到足够小,再一层层的返回 2.解决子问题 3.将求出的小规模的问题的解合并为一个更大规模的问题的解,自底向上的逐步求出原来问题的解(重要) 一、二分搜索 1.用递归的方法做 /*递归方法*/ #include <stdio.h> int binarySeach(int a[],int begin,int end,int key) { int middle =(begin + end) / 2; if
2021-10-18 19:37:51
948
原创 python程序控制结构
1.选择结构 if(条件表达式): <语句块> else: <语句块> 二分支结构的简洁表达式 print(" "if()else" ") if -elif-else 选择结构的嵌套,c语言else是与最近的进行匹配,但是py中根据缩进进行匹配 2.循环结构 for与while while:while<条件表达式>: <语句块> while用在循环次数并不是很明确的情况下 for<循环变量>...
2021-10-12 09:34:29
201
原创 python的输入输出
1.输入输出 (1)输入 a,b=map(int,intput.split())单个输入输出,空格分开,map映射,map还可以完成其他功能 一起读入很多数通过list type函数可以帮助查看什么类型 data=sorted(list(map(int,input.split()))) data=[input()for i in range(n)] (2)输出 结合字符串的格式化可以得到各种格式化的输出 输出语法格式为print(*obiects,sep=' ',end='\n',file
2021-10-12 08:27:19
123
原创 最大字段求和
算法1:三重循环暴力求解法 #include <stdio.h> int maximum_segment_sum(int array[],int n) { int this_sum = 0; int max_sum = 0; int i,j,k; for(i = 0;i < n;i++) {//分别以第一个第二个元素开始 for(j = i;j < n;j++) {//不停的在这个串上多加几个元素
2021-10-09 22:56:53
162
原创 python 数据类型和标识符
1.标识符 允许汉字 建议驼峰写法 不要用python中的保留字 在c语言中变量名字代表一个地址,python如何分配长度:根据等号右边的类型分配内存长度,变量名地址会变,它指向内存 2.变量 用id(变量)查看地址,如果指向的值是一样的(整型)地址一样,但值超过一定大小之后,也不同。浮点数不相同 y=y+1不可以哦 多重赋值的id会一致 支持多个变量同时赋值 x,y,z=1,2,3 支持不同类型 a,b=b,a a,b互换值 指向的地址也互换了,不仅值改变,类型也改变 3.常.
2021-09-28 08:46:40
591
原创 算法成长日志——递归
通过下面案列学习分治: 二分查找技术大整数乘法 Strassen矩阵乘法 棋盘覆盖 合并排序和快速排序 线性时间选择 最接近点对问题 循环赛日程表 分治法的设计思想是:将一个难以直接解决的大问题分割成一些规模较小的相同问题,以便各个击破,即分而治之 1.递归 ...
2021-09-16 10:59:25
148
原创 python学习第二天
1.变量、核心数据类型和内置对象 变量命名不可以是关键字 变量仅仅代表一个名字,有种动态的感觉,即不需要强制类型转换,可以做泛型变换 空值为None 整型int 浮点型float 复数complex 字符串str 整数 二进制(0b开头)打印出来为十进制 八进制(0o开头) 十六进制(0x开头) 浮点数 可以简写 可以用科学计数法表示——格式:小数e/E+n的次幂(如果是负数次幂,则不展开;正数次幂将展开,如下图) 空值None 空值和任何其他类型...
2021-07-23 23:48:24
89
原创 leetcode136题
题目描述: 136.只出现一次的数字 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 示例 1: 输入: [2,2,1] 输出: 1 示例2: 输入: [4,1,2,1,2] 输出: 4 测试程序: #include <stdio.h> int singleNumber(int* nums, int numsSize) { int t=0; for(int i=0;i<numsSize;i++).
2021-07-23 22:23:36
89
原创 Python学习第一天——关于解释器及pycharm的使用
1.编译器&&解释器 编译型语言——C语言 编译型语言执行更快,不能跨平台 解释型语言——python 运行解释每一句的源代码,从上向下逐字逐句翻译,读取一行翻译一行,翻译一行执行一行,可以跨平台 2.python的特点 python是一个完全面向对象的 语言 python拥有一个强大的标准库,提供了系统管理、网络通信、文本处理、数据库接口等额外的功能 python社区提供了大量的第三方模块 3.第一个python程序及pycharm的使用 shift+f10快捷键运行程序
2021-07-22 23:29:41
228
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人