
集合
文章平均质量分 87
水墨之白
悟已往之不谏,知来者之可追!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
ArrayList实现自定义排序
一、ArrayList排序使用 ArrayList中存在sort排序方法,只要你实现了Comparator的接口,按照你自己的排序业务进行实现,你只要告诉这个接口按照什么类型进行排序就OK了。这种方式类似于设计模式中的策略模式,把流程划分好,具体的业务逻辑由用户指定 代码实现: public class ComparatorTest { public static void main(St...原创 2019-12-11 19:45:04 · 3667 阅读 · 0 评论 -
关于集合遍历并删除报错详解
一、list集合正确删除 list集合删除不要使用增强for,建议使用for(int i;;)这种方法,注意这种方法删除集合元素会导致索引前移导致遍历问题 例如: private static void delFor() { List<String> blist = new ArrayList<>(); blist.add("a"); ...原创 2019-03-12 19:16:41 · 718 阅读 · 0 评论 -
深入理解HashMap
1. HashMap的概述 HashMap的底层是由数组来实现的。数组里的元素可以为null,也可以是链表,还可以是红黑树。 HashMap是一种支持快速存取的数据结构。 HashMap是基于哈希表的 Map 接口的实现,以key-value的形式存在。 2. HashMap在内存中的结构: 数组里面存放的是Node对象,链表的头结点 当链表长度达到8,...原创 2018-02-20 21:12:53 · 468 阅读 · 0 评论 -
手写HashMap
本文基于JDK1.7 虽然很早之前看过hashMap源码,但是还是需要实战一下,手写了一个类似的HashMap,加深对集合类的理解。代码我加上了详细注释。 问题: 如何将元素放入数组对应位置? 即寻址过程 不同元素在数组位置相同,发生冲突如何解决? 数组容量不足,怎么扩容? 搞清楚这三个问题,我们就可以很轻松完成自己的HashMap: 自己写的Map,就简单点,不需要像源码那样考虑健壮性,只需...原创 2019-06-13 19:50:59 · 373 阅读 · 0 评论 -
手写ArrayList
一、 数组复制方法 System.arraycopy() public static native void arraycopy(Object src, int srcPos, Object dest, int destPos,int length); src - 源数组。 srcPos - 源数组中的起始位置。 dest - 目标数组。 destPos - 目标数据中的起始位置。 length...原创 2019-06-15 15:24:28 · 259 阅读 · 0 评论