发布时间:2023-06-27 08:30
为什么要设计集合
与数组的区别
数组需要初始化指定长度且长度不可变,集合类可变长;
数组元素可以是基本类型,集合类元素必须是对象;
ArrayList:
ArrayList是基于数组的,可变长数组,可以通过索引快速访问元素,对尾部元素的增删改查比较友好,但在中间位置插入和删除效率较低,因为一次修改会影响后边所有元素。
构造器:
ArrayList():构造一个初始容量为 10 的空列表。
ArrayList(Collectionc):构造一个包含指定 Collection 元素的列表,这些元素是按照该 Collection 的迭代器返回它们的顺序排列的。
扩容:
ArrayList数组扩容时会自动扩容到原来长度的1.5倍,然后将数据依次拷贝到新数组,所以会非常耗费资源。(hashMap两倍扩容)
LinkedList
基于链表实现,可以快速的插入和删除,但不利于随机访问。也可以使用它的方法模拟栈和队列。
Vector
Vector和ArrayList很相似,都是长度可变的数组,但Vector是同步的,线程安全的,适合多线程情况,初始大小默认10,扩容时两倍扩容,也可以在构造器中指定增量。
Set集合中不包含重复元素
HashSet // todo
通过哈希值存储对象,会改变对象原本的顺序,去重。
如果有两个元素通过 equals() 方法比较返回的结果为 true,但它们的 hashCode 不相等,HashSet 将会把它们存储在不同的位置,依然可以添加成功。
也就是说,两个对象的 hashCode 值相等且通过 equals() 方法比较返回结果为 true,则 HashSet 集合认为两个元素相等。
ConcurrentHashMap //todo
为HashMap在并发写数据的时候容易因为rehash的过程产生环形链表的情况。所以在并发使用Map结构时,一般建议使用ConcurrentHashMap。
https://www.jianshu.com/p/4e03b08dc007
TreeSet
有序的Set集合,基于红黑树实现
对象必须实现Comparable接口,和其下的compareTo方法
https://wenku.baidu.com/view/e5f947da07a1b0717fd5360cba1aa81144318f68.html
TreeMap 类的使用方法与 HashMap 类相同,唯一不同的是 TreeMap 类可以对键对象进行排序。
遍历:http://c.biancheng.net/view/6872.html
资料参考:
http://c.biancheng.net/view/6824.html
https://blog.csdn.net/ThinkWon/article/details/104588551
抽象工厂模式、单例模式、装饰者模式、观察者模式
连接:https://www.runoob.com/mysql/mysql-join.html
正则表达式:https://www.runoob.com/mysql/mysql-regexp.html
事务:https://www.runoob.com/mysql/mysql-transaction.html
事务四个特性:
一致性、原子性、隔离性、持久性
隔离级别:读已提交、读未提交、可重复度、串行化
BEGIN 开始一个事务
ROLLBACK 事务回滚
COMMIT 事务确认
ALTER:https://www.runoob.com/mysql/mysql-alter.html
临时表:https://www.runoob.com/mysql/mysql-temporary-tables.html
git init
git add .
git commit -am ‘first commit’
git remote add origin (项目链接)
git pull
git branch
git push -u origin master
git checkout -b v1.0 origin/master
git push origin HEAD -u
跨平台项目管理工具,可以用来创建项目、管理jar包。
通过pom文件配置jar包
https://blog.csdn.net/Dabie_haze/article/details/118969328
排序 6.15
企鹅够牛,大事不断:腾讯音乐遭“投资者律师代表团”调查、大数据组件TubeMQ宣布开源、1千万美元领投英国AI企业SenSat...
python curses_Py之curses:curses库的简介、使用、安装方法详细攻略
微信小程序使用Echarts真机调试报错,Echarts占内存过大解决方法
Linux笔记3(用户权限类,搜索查找类,压缩解压类,磁盘管理类,进程管理类,系统定时任务)
Django博客搭建-新闻模块6-新闻搜索功能(Django+Haystack+elasticsearch)
论文阅读笔记《Depth-attentional Features for Single-image Rain Removal》
【Kubernetes 系列】K8S 进阶 容器和 Pod 分配内存资源