自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 HashMap底层原理

1.HashMap底层 (1)JDK8之前 JDK8之前,HashMap底层是数组和链表结合一起使用的,数组是HashMap的主体,链表则是为了解决哈希冲突而存在的,也就是链表散列。HashMap通过key的hashcode经过扰动函数处理后得到哈希值,然后通过(n-1) & hash判断当前元素存放的位置(n为数组的长度),如果当前位置存在元素的话,就判断该元素和要存入的元素的哈希值以及key是否相同,如果相同的话,直接覆盖,不同就通过拉链法解决冲突。 所谓扰动函数指的是HashMap的hash

2021-05-31 11:37:58 125 1

原创 常用查找算法

1)顺序(线性)查找 2)二分查找/折半查找 3)插值查找 4)斐波那契查找 1.顺序查找 ---------------查找无序表 public static int seqSearch(int[] arr,int value){ //逐一对比,发现有相同值,就返回下标 for(int i = 0;i < arr.length;i++){ if(arr[i] == value) return i; } return -1; } 2.二分

2021-05-07 18:33:23 130

原创 常用排序算法

1.冒泡排序 基本思想:从前向后(从下标较小的元素开始)依次比较相邻元素的值,若发现逆序则交换,使值相对较大的元素逐渐从前移动到后部。 优化: 在排序的过程中,各元素不断接近自己的位置,如果一趟下来没有进行过交换,就说明序列有序,因此在排序过程中设置一个标志flag判断元素是否被交换过,从而减少不必要的比较。 classSolution{ publicint[]sortArray(int[]nums){ BooleanisFlag=true; ...

2021-05-07 18:28:06 113

原创 Map&Set基础

1.Map (1)分类 |------Map:双列数据,存储key-value对的数据 -----类似于数学中函数:y=f(x) |------HashMap:作为Map的主要实现类:线程不安全的,效率高:存储null的key和value |------LinkedHashMap: 保证在遍历Map元素时,可以按照添加的顺序实现遍历。 原因:在原有的HashMap底层结构的基础上,添加了一对指针,指向了前一个...

2021-05-07 17:43:55 100

原创 List容器方法

1.Collections工具类 //一、排序操作: Collections.reverse(List)//:反转List中元素的顺序 Collections.shuffle(List)//:对List集合元素进行随机排序 Collections.sort(List)//:根据元素的自然排序对指定的List集合元素按升序排序 Collections.swap(List,int i,int j)//:将指定list集合中的i处元素和j处元素进行交换 //二、查找、替换操作: Object max(

2021-05-07 17:25:20 89

原创 字符串常用知识

1)判断: boolean contains(String str);//判断str是否包含在当前字符串中 boolean equals(String str) //比较两个字符串的内容是否相同 boolean equalsIgnoreCase(String str) //忽略大小写比较两个字符串是否相同 int compareTo(String anotherStr);//比较当前字符串与参数字符串的大小,大为正整数,小为负整数,等于为0 int compareToIgnore(String anot

2021-05-07 17:15:34 102

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除