JVAV集合框架

Collection是JAVA的一个集合框架总称。主要包含List、Set两类,同时还有常用的Map类。如下图所示:
这里写图片描述
Collection与Map最大的区别是:Collection存储的是对象,而Map存储的是key-value数据。
下面主要介绍常用类:ArrayList、LinkedList、Vector、HashMap、Hashtable、HashSet、TreeSet.

ArrayList与LinkedList、Vector

1.ArrayList是基于数组,线程不安全,查找元素效率高,初始容量为10,扩容规则:(原容量*3/2)+1
2.LinkedList是基于链表的,增删元素效率高,初始容量为0,扩容是只需要创建节点移动指针
3.Vector同ArrayList一样,是基于数组的,但Vector是线程安全的

HashMap与Hashtable

1.HashMap是线程不安全不同步的,Hashtable是线程安全同步的
2.HashMap允许存在null键与null值,Hashtable不允许
3.由于HashMap是线程不安全的,所以当多个线程同时对map结构进行改变(增删)的时候,会抛出ConcurrentModificationException异常
4.HashMap的初始容量为16,扩容规则:原容量*2,Hashtable的初始容量是11,扩容规则为原容量*2+1

HashMap与HashSet的区别

1.HashMap实现了Map接口,HashSet实现了Set接口
2.HashMap是key-value形式键值对,HashSet存储一个对象
3.HashMap不允许存在重复键,HashSet不允许存在重复值
4.HashSet是基于HashMap的,集合内部无序

HashSet与TreeSet的区别

1.HashSet底层使用hash表,基于HashMap,集合内部元素无序,add/remove操作时间复杂度为O(1)
2.TreeSet底层使用红黑树,基于TreeMap,集合内部元素有序,add/remove操作时间复杂度为O(lgn)

红黑树

红黑树是一棵相对平衡的二叉查找树,即任意一个节点的值大于他左孩子节点的值并且小宇他右孩子节点的值,包括6个节点:key、value、color、left、right、parent。
性质:
1.节点的颜色只能为红色或者黑色
2.根节点是黑色的,每个叶节点(NIL)也是黑色的
3.一条路径那个上不能出现相邻的两个红节点,即红节点的叶节点必是黑色的
4.从任意节点到其叶节点所有路径都包含相同数目的黑色节点

二叉排序树(二叉搜索树(B树))

1.非叶子节点最多拥有两个孩子节点
2.所有节点存储一个关键字
3.任意一个节点的值大于左孩子节点的值且小于右孩子节点的值

平衡二叉树

任意两个子树的高度差不大于1,查找、插入、删除在平均与最坏情况下都是O(lgn).

B-树(多路搜索树)

1.具有n个关键字的节点含有n+1个分支
2.所有关键字都在整棵树中出现

B+树(多路搜索树)

1.具有n个关键字的节点含有n个分支
2.所有关键字都在叶子节点中出现
3.所有叶子节点都有一个指针链

根据提供的引用内容,Java学生管理系统是一个用于管理学生就业信息的信息管理系统。它使用了Maven作为项目构建工具,采用了Spring Boot和Layui框架进行开发。该系统可以实现学生就业信息的高效查询、修改、删除等操作,使学生就业信息管理更加系统化、规范化和自动化。 该系统的初步设计方法与实施方案可能包括以下步骤: 1. 确定系统需求:明确学生就业信息管理的功能需求,例如学生信息的录入、查询、修改、删除等。 2. 设计数据库结构:根据需求设计数据库表结构,包括学生信息表、就业信息表等。 3. 搭建开发环境:安装Java开发环境、Maven和相应的开发工具,如Eclipse或IntelliJ IDEA。 4. 创建项目:使用Maven创建一个新的Spring Boot项目,并添加所需的依赖。 5. 开发后端功能:根据需求,编写后端代码实现学生信息的增删改查功能,包括定义实体类、编写控制器、服务层和数据访问层等。 6. 开发前端界面:使用Layui框架设计并开发学生信息管理的前端界面,包括学生信息的展示、编辑和删除等功能。 7. 集成测试:对系统进行整体测试,确保功能的正确性和稳定性。 8. 部署上线:将系统部署到服务器上,供用户访问和使用。 请注意,以上是一个初步的设计方法与实施方案,具体的实现细节可能会根据实际需求和开发团队的技术栈而有所不同。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值