Java4_算法_集合

算法类

如果方法需要返回多个值,就先将值存入集合或数组,再返回集合或数组,建议存入集合,更方便

基本查找

折半查找

数据必须有序
循环条件 min<=max
在这里插入图片描述

插值查找

数据有序

分块查找

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

选择排序

在这里插入图片描述
在这里插入图片描述
复制数组:System.arraycopy()

arrays类

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

lambda表达式

可以简化匿名内部类的书写
函数式编程-强调的是做什么 --lambda表达式
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述函数式接口都有一个注解@FunctionalInterface

在这里插入图片描述
注意此处的身高是double类型,所以判断的时候要注意

所有集合

在这里插入图片描述
单列集合 – 存单个数据
双列集合–存一对数据

list–添加数据 有序,可重复,有索引
set–添加数据 无序 不重复,无索引
(序 存和取的顺序)

collection

在这里插入图片描述
collection的遍历方式–迭代器便利,增强for便利,lambda表达式遍历

迭代器不依赖索引
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

增强for遍历

在这里插入图片描述

可以使用集合名+for直接得到增强for的书写格式
修改增强for中的变量,不会改变集合中原本的数据

在这里插入图片描述
在这里插入图片描述

list

有序,有索引,可重复
继承了collection的方法

在这里插入图片描述
集合可以直接打印,查看集合中的元素
sout(list);

add(i,对象)加入指定元素,其余元素依次向后移动
在这里插入图片描述

list的遍历方式

迭代-增强for-列表迭代器-lambda表达式遍历-普通for遍历
列表迭代器是list独有的,set集合用不了哦
list本身是一个接口,所以需要使用多态的形式创建对象
‘’’
list list=new ArrayList<>();
‘’’
在这里插入图片描述在这里插入图片描述

数据结构

栈–后进先出–方法运行时也是这样
队列–先进先出
数组-内存连续,随机查取,删除效率低
链表–内存中结点不连续,查询慢,增删快
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

泛型

<引用数据类型>
泛型:
ArrayList<引用类型> list=new ArrayList<>(); 添加指定类型数据

ArrayList list=new ArrayList<>();

  • 此列表可以添加任意类型的数据
  • 但是添加在列表里面的数据都是object类型,不能访问子类的特有功能,object是顶级父类,如果想要访问数据,需要强制转换类型,但是由于数据类型不一致,容易导致强转出问题,,所以引入了泛型
  • 在这里插入图片描述

泛型-统一数据类型,编译的时候,避免了强制转换出现的异常
泛型中不能写基本数据类型,要写基本数据类型的包装型
执行具体类型后,也可以传入该类型或者其子类类型
若不写泛型,则默认为object类型

分类

泛型类:
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

泛型方法

在这里插入图片描述

工具类的构造方法私有化,不让外界取建立对象,其余方法静态化
在这里插入图片描述
注意这里的addAll1和2 都可以 2可以添加许多个数据,而1只能添加4个,工具类的构造方法需要私有化,且方法需要静态化,需要使用的时候用类名调用,因为只需要一个方法中指定类型,所以使用泛型方法,泛型添加在修饰符后面

泛型接口:
在这里插入图片描述
方式一:创建对象之后,只能添加指定类型的数据
在这里插入图片描述

方式二:若类是泛型类,在创建对象的时候,就需要写泛型 如下string
在这里插入图片描述

泛型不具备继承性
在这里插入图片描述
数据具有继承性
在这里插入图片描述
//参数可以传递任意数据类型
public static void method(ArrayList list){

}

通过通配符可以传递相关类型的数据

用于定义方法类接口时,类型不确定时可以用
继承体系中可以用,
限定类型的范围

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
二叉树–任意结点的度数小于等于2

遍历-前序,中序,后序,层序遍历
二叉查找树-小的在左,大的在右
平衡二叉树–平衡因子为1,0,-1

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值