随笔分类 -  java集合框架

摘要:先摆上JDK1.8中HashMap的类注释;我翻译了一下 总结 1.数据结构 初始化一个HashMap<String,String>,存储了一些测试数据, 此时HashMap的内部如 图1: 在Java中,最基础的数据类型是数组和链表,HashMap是两者结合体。所以在数据结构中被称作“链表散列”。 阅读全文
posted @ 2017-04-01 16:53 够硬的乙方 阅读(751) 评论(0) 推荐(0)
摘要:下面是HashMap的一个构造函数,两个参数initialCapacity,loadFactor 这关系HashMap的迭代性能。 关于这两个参数值的设定界限: 1. initialCapacity是map的初始化容量,initialCapacity > MAXIMUM_CAPACITY,表明map 阅读全文
posted @ 2017-03-31 19:48 够硬的乙方 阅读(25174) 评论(1) 推荐(5)
摘要:HashMap总共提供了三个构造函数 解读:这是无参构造函数,构造了一个初始容量16和负载因子为0.75的HashMap实例。 负载因子介绍请参考本人博客:"HashMap负载因子" 解读:构造一个指定初始容量的HashMap实例,此时负载因子还是0.75. 解读:指定初始容量和负载因子构造一个Ha 阅读全文
posted @ 2017-03-31 14:23 够硬的乙方 阅读(871) 评论(0) 推荐(0)
摘要:先摆上JDK1.8中hashMap的类注释;我翻译了一下 总结 1. LinkedList是基于链表结构实现,所以在类中包含了first和last两个指针(Node)。Node中包含了上一个节点和下一个节点的引用,这样就构成了双向的链表。每个Node只能 知道自己的前一个节点和后一个节点,但对于链表 阅读全文
posted @ 2017-03-29 11:16 够硬的乙方 阅读(442) 评论(0) 推荐(0)
摘要:都说ArrayList是线程不安全的,那为什么不安全呢。根据官方提供的源码, 我是这样理解的,ArrayList的成员方法都不是原子操作的,比如add(E)方法,该方法是在集合的尾部加入一个一个元素. add(E)源码如下: 网上的思路大致是这样的: add(E)操作有两步,1>尾部添加元素 2>修 阅读全文
posted @ 2017-03-23 18:03 够硬的乙方 阅读(2171) 评论(0) 推荐(0)
摘要:1.迭代器遍历 2.因为ArrayList实现了RandomAccess接口,所有支持随即访问。for 通过下标遍历 3.for循环遍历 总结: 因为ArrayList是基于数组实现的,所以通过下标访问速度是最快的。故推荐第二种方法进行集合遍历 阅读全文
posted @ 2017-03-23 14:46 够硬的乙方 阅读(214) 评论(0) 推荐(0)
摘要:先摆上JDK1.8中ArrayList的类注释;我翻译了一下 总结: 1.ArrayList实现List接口,它的兄弟还有LinkedLIst,Vector,所有经常被问它们的区别也就情有可原了 2.ArrayList内部是基于数组实现的,也叫动态数组.所有它插入删除效率低,随即访问效率高 3.它是 阅读全文
posted @ 2017-03-23 14:25 够硬的乙方 阅读(253) 评论(0) 推荐(0)
摘要:同样看的都是jdk1.8 中 ArrayList中的源码,整理测试一下而已ListIterator(int index)方法,返回指定下标(包含该下标)后的值,此时index位置的元素就是新列表迭代器的第一个值。是不是感觉有点像substring(intindex)?注:ArrayList类同时还提 阅读全文
posted @ 2017-03-22 17:23 够硬的乙方 阅读(1067) 评论(0) 推荐(0)
摘要:以下代码片都是 jdk1.8 ArrayList中的官方代码 解读:ArrayList的构造方法,用得比较少,至少我用得比较少。参数是Collection的实现类都行, 由此我想到了一个好玩的东西,如果要将两个集合想加,那么可以试试这个方法,虽然官方提供了 public boolean addAll 阅读全文
posted @ 2017-03-22 17:18 够硬的乙方 阅读(304) 评论(0) 推荐(0)
摘要:package sourceCode.ArrayList; import java.util.ArrayList; import java.util.List; public class arrayListTest { public static void main(String[] args) { ArrayList list = new ArrayList(); list.a... 阅读全文
posted @ 2017-03-22 15:19 够硬的乙方 阅读(14462) 评论(3) 推荐(2)