
Java基础
1silence
这个作者很懒,什么都没留下…
展开
-
数组的初始化和内存分配
数组初始化分为两种方式 静态初始化:初始化时显式指定每个数组元素的初始值,由系统决定数组长度,如: //只是指定初始值,并没有指定数组的长度,但是系统为自动决定该数组的长度为4 String[] computers = {"Dell", "Lenovo", "Apple", "Acer"}; //只是指定初始值,并没有指定数组的长度,但是系统为自动决定该数组的长度为3 String[] names = new String[]{"哆啦A梦", "大熊", "静香"}; 动态初始化:初始化时由程序原创 2022-01-07 18:25:11 · 707 阅读 · 0 评论 -
HashMap 1.7 与 1.8 的 区别,说明 1.8 做了哪些优化,如何优化的?
HashMap 1.7 与 1.8 的 区别,说明 1.8 做了哪些优化,如何优化的? HashMap结构图 在JDK1.7 及之前的版本中, HashMap 又叫散列链表:基于一个数组以及多个链表的实现,hash值冲突的时候,就将对应节点以链表的形式存储。 JDK1.8 中,当同一个hash值( Table 上元素)的链表节点数不小于8时,将不再以单链表的形式存储了,会被调整成一颗红黑树。这就是JDK7 与JDK8 中HashMap 实现的最大区别。 下面基于 JDK1.7.0_80 与 JDK1原创 2022-01-07 17:59:25 · 393 阅读 · 0 评论 -
List和Set的区别
List , Set 都是继承自 Collection 接口 List 特点:元素有放入顺序,元素可重复 Set 特点:元素无放入顺序,元素不可重复,重复元素会覆盖掉 Set元素虽然无放入顺序,但是元素在set中的位置是由该元素的HashCode 决定的(HashSet内部实现了HashMap,HashSet的值作为HashMap的key),其位置其实是固定的,加入Set 的Object 必须定义equals ()方法 另外list支持for循环,也就是通过下标来遍历,也可以用迭代器,但是set只能用原创 2022-01-07 17:45:20 · 740 阅读 · 0 评论