- 博客(17)
- 收藏
- 关注
原创 Map接口的常用问题总结
一、HashMap类 1、HashMap底层实现数据结构为数组+链表的形式,JDK8及其以后的版本中使用了数组+链表+红黑树实现。 2、HashMap的初始容量16,加载因子为0.75,扩容增量是原容量的1倍。 3、HashMap的长度为什么是2的幂次方? 我们将一个键值对插入HashMap中,通过将Key的hash值与length-1进行&运算,...
2020-03-07 18:32:43 261
原创 Set接口常见问题总结
一、Set接口是无序、唯一的。二、Set接口有三种重要的实现类,HashSet、LinkedHashSet、TreeSet。三、HashSet类 1、底层数据结构是哈希表 2、无序、唯一(通过hashCode()和euqals()保证唯一性) 3、线程不安全 4、常用方法 增加 add(null); 删除...
2020-03-06 19:28:10 255
原创 List接口常见问题总结
一、List集合是有序、可重复的。二、List集合有3种重要的实现类ArrayList、Vector、LinkedList类三、ArrayList类(实现了Cloneable接口和Serializable接口) 1、底层是数组实现的 2、查询快,删减慢 3、线程不安全,效率高 4、常用方法 添加...
2020-03-06 17:37:00 373
原创 HashMap源码分析
分析之前需要知道的hashmap术语:桶: 就是hashmap的table数组bin: 就是挂在数组上的链表TreeNode: 红黑树capacity: table总容量(默认16) loadFactor:负载因子(默认0.75) threshold:键值对容量的上限 (threshold=capacity*loadFac...
2019-11-18 15:57:04 123
原创 LinkedList分析
注:来自网上资料,仅个人学习笔记用1、LinkedList集合是基于双向循环链表实现的,除了可以当做链表来操作外,它还可以当做栈、队列和双端队列来使用。2、LinkedList同样是非线程安全的,只在单线程下适合使用。3、LinkedList实现了Serializable接口,因此它支持序列化,能够通过序列化传输4、LinkedList实现了Cloneable接口,能被克隆。5...
2019-10-26 12:46:47 200
原创 ArrayList源码分析
注:来自网上资料,仅个人学习笔记用1、ArrayList集合是基于动态数组实现的,数组容量能自动增加。2、ArrayList集合是线程不安全的,只能用于单线程环境下线程环境下考虑Collections.synchronizedList(List l)函数返回一个线程安 全的ArrayList类,也可以使用concurrent并发包下的CopyOnWriteArrayList类。...
2019-10-26 12:16:44 107
原创 java集合结构
1、java集合包位于java.util下2、集合框架大致可分为五大部分(List、Set)Collection、Map、工具类(Arrays、Collections)、迭代器(Iterator、Enumeration)3、Collection接口被称为集合类的根接口,Map接口和Collection接口没有关系,相互独立...
2019-10-26 10:22:19 160
原创 平衡二叉树之AVL
一、我自己的理解平衡二叉树是基于二叉排序树,对稳定时间复杂度的一种优化。通过旋转操作来优化,分为四种类型。 1) 6节点的左子树3节点高度比右子树7节点大2,左子树3节点的左子树1节点高度大于右子树4节点,这种情况成为左左。 2) 6节点的左子树2节点高度比右子树7节点大2,左子树2节点的左子树...
2019-10-16 09:35:00 118
原创 java hashmap排序的2种方式
1.按key排序对名称进行排序,首先要得到HashMap中键的集合(keySet),并转换为数组,这样才能用Arrays.sort()进行排序 Set set=phone.keySet(); Object[] arr=set.toArray(); Arrays.sort(arr); for(Object key:arr){ ...
2019-09-03 20:25:30 4637
原创 java正则表达式
正则表达式规则下面的描述是可以在正则表达式中使用可用的元字符的概述。3.1。常见的匹配符号正则表达式 描述.匹配任何字符^匹配输入字符串开始的位置。如果设置了 RegExp 对象的 Multiline 属性,^ 还会与”\n”或”\r”之后的位置匹配。。$匹配输入字符串结尾的位置。如果设置了 RegExp 对象的 Multiline 属性,$ 还会与”\n”或...
2019-09-03 19:58:49 94
原创 matches方法判定字符串符合某种规则
Java matches() 方法matches() 方法用于检测字符串是否匹配给定的正则表达式。调用此方法的 str.matches(regex) 形式与以下表达式产生的结果完全相同:Pattern.matches(regex, str)语法public boolean matches(String regex)参数 regex-- 匹配字符串的正则表达式。...
2019-09-03 19:50:07 906
原创 将String转换为Date类
在javaEE项目中,会接受到日期格式的String,我们如果要将其转换为Date格式,就会用到SimpleDateFormat类。import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;public class StringToDate { ...
2019-09-03 12:54:37 32906
原创 Comparable和Comparator的区别
ComparableComparable可以认为是一个内比较器,实现了Comparable接口的类有一个特点,就是这些类是可以和自己比较的,至于具体和另一个实现了Comparable接口的类如何比较,则依赖compareTo方法的实现,compareTo方法也被称为自然比较方法。如果开发者add进入一个Collection的对象想要Collections的sort方法帮你自动进行排序的话,那么...
2019-08-31 22:23:26 79
原创 java数组排序Arrays.sort()
1、Arrays.sort(int[] a)这种形式是对一个数组的所有元素进行排序,并且是按从小到大的顺序。举例如下import java.util.Arrays;public class Main { public static void main(String[] args) { int[] a = {9, 8, 7, 2, 3, 4, 1...
2019-08-31 20:25:56 1795
转载 Java的数组和list升序,降序,逆序函数Collections.sort和Arrays.sort的使用
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/yzwty/article/details/56287943list升序,降序,逆序List<Integer>list =new ArrayList<Integer>();//如果list是 5 7 2 6...
2019-08-31 20:25:00 558
原创 java控制输出小数位数
一 System.out.printf("%N.Mf", a); N表示数字总位数,M表示小数位数二 DecimalFormat类 #:没有则为空 0:没有则补0 DecimalFormat df=newDecimalFormat("0...
2019-08-25 18:24:18 934
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人