你的这种写法是链表的,,链表查询慢就是这个原因,你可以用数组和集合(用数组实现),直接根据索引获取,查询快
是的,单向链表。你这里说是集合是指arraylist吧,本质就是操作数组。那么问题来了,数组索引是怎么创造出来的呢
@大兄弟竹子: 数组下标和数组元素在堆中内存分配一样都是连续的,可以根据下标去内存中取值,jvm具体规则不熟悉,你可以参考https://www.zhihu.com/question/266170412/answer/309767360
@小光: 明白了,跟我想的差不多。可以这样理解吗:索引其实是数组独有的特性,因为其连续分配的内存与寻址管理,所以查询速度极快。而集合,ArrayList跟List<TResult>的基础均是数组。
@大兄弟竹子: 嗯,对喽
@小光: 谢谢,最近刚回过头来看数据结构跟算法。
@大兄弟竹子: 巧了,我正在看数据结构和算法的电子书,有兴趣你也可以看看,下载免费的http://bestcbooks.com/categories/java/
@小光: 哈哈,好的。618买了一堆书。
安心去遍历把.
1、可以使用数组保存Node。
2、可以另外使用一个数组,实现index到具体Node的一个映射
“数据结构中如何通过索引值获取索引内容”
===》》》
索引器就是干这个的。
你不想用,那就自己写个方法喽。
===》》》
“或者说索引器实现的本质是什么呢?”
索引器的本质就是一个(或者)两个方法,也可以说索引器就是一个带参数(索引)的属性。
用于:通过指定的索引来从集合中获取特定元素。