![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java基础
zhenghehehe
这个作者很懒,什么都没留下…
展开
-
Map系列底层原理
HashMap(Map): 特点: key,value存储,key可以为null,同样的key会被覆盖掉 存储结构: 底层采用数组、链表、红黑树来实现的。 原理讲解: 哈希算法(也叫散列),就是把任意长度值(Key)通过散列算法变换成固定长度的key(地址) 通过这个地址进行访问的数据结构它通过把关键码值映射到表中一个。位置来访问记录,以加 快查找的速度。 Hashcode:通过字符串算出它的ascii码,进行mod(取模),算出哈希表中的下标 哈希冲突 用链表是来解决数组下标会覆盖的问题原创 2021-12-01 15:10:56 · 2588 阅读 · 0 评论 -
冒泡排序实现
public class demo_sort { public static void main(String[] args) { //冒泡排序算法 int[] numbers=new int[]{1,5,8,2,3,9,4}; //需进行length-1次冒泡 for(int i=0;i<numbers.length-1;i++) { for(int j=0;j<numbers.le...原创 2021-10-11 10:31:13 · 37 阅读 · 0 评论 -
ArrayList和LinkedList区别
ArrayList:基于动态数组,连续内存存储,适合下标访问(随机访问),扩容机制:因为数组长度固定,超出长度存数据时需要新建数组。然后将老数组的数据拷贝到新数组,如果不是尾部插入数据还会涉及到元素的移动(往后复制一份,插入新元素」,使用尾插法并指定初始容量可以极大提升性能、甚至超过linkedList(需要创建大量的node对象) LinkedList:基于链表,可以存储在分散的内存中,适合做数据插入及删除操作,不适合查询:需要逐一遍历遍历LinkedList必须使用iterator不能使用for循原创 2021-09-06 16:10:00 · 55 阅读 · 0 评论