JAVA学习

常见算法:

分块查找:

分块的原则1:前一块中的最大数据,小于后一块中的所有数据(块内无序,块间有序)

分块的原则2:块数数量一般等于数字的个数开根号。

Arrays:

binarySearch:

细节1:二分查找的前提是数组中的元素必须是有序的,数组中的元素必须是升序的

细节2:如果查找的元素时存在的,那么返回的是真实的索引但是,如果要查找的元素是不存在的,返回的是-插入点-1

copyof:拷贝数组

参数一:老数组

参数二:新数组的长度

方法的底层会根据第二个参数来创建新的数组,如果新数组的长度是小于老数组长度的,会部分拷贝,如果新数组的长度等于老数组的长度,会完全拷贝,如果新数组的长度大于老数组的长度会默认补上初始值

对sort方法的重写:

简单理解

o1-o2:升序排列

o2-o1:降序排列

lambda表达式:

函数式编程:

忽略面向对象的复杂语法,强调要做什么

注意:

lambda表达式可以用来简化匿名内部类的书写

lambda表达式只能简化函数式接口的匿名内部类的写法

函数式接口:

有且只有一个抽象方法的接口叫做函数式接口,接口上方可以加@Fanctionallnterface注解

lambda表达式的省略规则:

省略核心:可推导,可省略

1.参数类型可以省略不写

2.如果只有一个参数,参数类型可以省略,同时()也可以省略

3.如果lambda表达式的方法体只有一行,大括号,分号,return可以省略不写,需要同时省略

集合进阶:

集合体系结构:

List系列集合:添加的元素是有序(线性),可重复,有索引

Set:无序,不重复,无索引

Collection的遍历方式:

迭代器遍历:

迭代器不依赖索引

增强for遍历:

增强for的底层就是迭代器,为了简化迭代器的代码书写的

它是jdk5之后出现的,其内部原理就是一个lterator迭代器

所有的单列集合和数组才能用增强for进行遍历

增强for的细节:

修改增强for中的变量,不会改变集合中原本的数据

List集合:

List集合的遍历方式:

Arrylist:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值