Java:如何获取list中所有元素的索引.

Java:如何获取list中所有元素的索引.,第1张

API是没有这种方法的

思路一:取到之后把该索引的内容替换掉 然后再次取索引 一直到 -1

思路二:遍历list get(index)取值 与 你要去的值判断 相等则存储起来

判断完后即可得到你要的了

|--List:元素是有序的(怎么存的就怎么取出来,顺序不会乱),元素可以重复(角标1上有个3,角标2上也可以有个3)因为该集合体系有索引,

|-- ArrayList:底层的数据结构使用的是数组结构(数组长度是可变的百分之五十延长)(特点是查询很快,但增删较慢)线程不同步

|-- LinkedList:底层的数据结构是链表结构(特点是查询较慢,增删较快)

|-- Vector:底层是数组数据结构 线程同步(数组长度是可变的百分之百延长)(无论查询还是增删都很慢,被ArrayList替代了)

List a1 = new ArrayList();

a1add("java01");

a1add("java02");

a1add("java03");

a1add("java04");

获取java03就是a1get(2);因为下标是从0开始。

JAVA的arraylist可以用下标直接访问的。

顺序存储的因为他们每个元素在内存中都是连续的,所以可以通过下标访问。下表访问其实就是给当前个元素的内存地址加上一个或多个单位(存储一个元素的内存)的内存空间。

线性集合有两种存储方式 ,一种是顺序存储的 ,而另一种是链表存储 。

ArrayList是数组集合,可不是链表哦。

在C#中,链表表示的集合叫做LinkedList<T>,这个才是你学过的不能使用下标访问的链表集合。

ArrayList是动态的数组集合,它是底层实现是基于数组的,而数组排列是连续的内存空间,所以可以使用下标来计算每一个元素的内存位置,从而获取元素本身。

纠正一点,在C#中,所谓的“下标”叫做“索引器”。是类的一种特殊的方法。

以上就是关于Java:如何获取list中所有元素的索引.全部的内容,包括:Java:如何获取list中所有元素的索引.、java 如何得到list中指定行数的数据、JAVA的arraylist可以用下标直接访问吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10123996.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存