首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

重学 Java 设计模式:实战迭代器模式「模拟公司组织架构树结构关系,深度迭代遍历人员信息输出场景」

从懵懂的少年,到拿起键盘,可以写一个HelloWorld。多数人在这并不会感觉有多难,也不会认为做不出来。因为这样的例子,有老师的指导、有书本的例子、有前人的经验。但随着你的开发时间越来越长,要解决更复杂的问题或者技术创新,因此在网上搜了几天几夜都没有答案,这个时候是否想过放弃,还是一直坚持不断的尝试一点点完成自己心里要的结果。往往这种没有前车之鉴需要自己解决问题的时候,可能真的会折磨到要崩溃,但你要愿意执着、愿意倔强,愿意选择相信相信的力量,就一定能解决。哪怕解决不了,也可以在这条路上摸索出其他更多的收获,为后续前进的道路填充好垫脚石。

01

Java从入门到精通七(Java数据结构--Collection集合)

集合和数组的区别是什么? 数组也是java中的一种数据结构,数据的长度是固定的,存储方式是线性的。并且是可以存储基本的数据类型和对象,基本数据对象可以按照基本类型的装箱处理并存储。而我们的数组是属于引用数据类型的。 集合是java中的另外一种数据i结构,相比数组,集合是更加灵活的。从实现方式上,集合的实现方式多样,适用范围比较广,数组采用的是空间连续分配存储的方式。 另外,集合采用了类和接口的形式,具有java面向对象的三大特征,比较数组更加明显地体现了面向对象地逻辑思维。 java中的集合分为单列集合和双列集合,Collection是单列集合的顶层接口,Map是双列集合的顶层接口。从基本的存储上讲,单列存储的数据只包含了数据本身,而双列是包含键和值的,也就是双列不仅存储数据本身,也存储所对应的索引。本文主要介绍单列集合Collection,以及其下面的部分子接口。

03

聊聊java中的哪些Map:(四)LinkedHashMap源码分析

在前面对LinkedList进行分析的时候说到,LinkedList实际上性能比ArrayList不会高多少,只有在前向插入的时候才能比ArrayList性能高。因为LinkedList虽然在remove和insert的操作不需要数据拷贝,但是寻址需要时间,也就是说此从链表中找到需要操作的节点需要时间,只能根据链表挨个遍历。那么当时就在想,查询链表中的某一个元素能不能将O(n)的时间复杂度变为O(1)呢,那样就能充分利用链表的特点。实际上我们本章讨论的LinkedHashMap就是这样一个数据结构。其综合了HashMap和链表的优点,虽然数据结构比LinkedList更加复杂,每一个节点Entry都增加了很多指针,但是在某些场景下,是可以同时发挥Hashmap和链表的优点的数据结构。

05
领券