Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java上令人费解的返回值';s列表_Java - Fatal编程技术网

Java上令人费解的返回值';s列表

Java上令人费解的返回值';s列表,java,Java,我对Java列表上的返回值感到困惑 我希望像add和remove这样的操作返回添加或删除元素的索引,而不是在成功时返回true 当使用add时,我可能会通过调用size-1获得此id(我想这并不昂贵),而使用remove时,我必须调用indexOf,这对我来说似乎是一种浪费 我遗漏了什么吗?如何使用索引添加和删除呢?我认为解释是,和在界面上,因此它们适用于地图集以及基于列表的数据结构。也许列表不是您需要的数据结构-举个例子说明为什么这样做会很尴尬。删除后,该项不在列表中,所以索引并没有真正的意义

我对Java列表上的返回值感到困惑

我希望像
add
remove
这样的操作返回添加或删除元素的索引,而不是在成功时返回true

当使用
add
时,我可能会通过调用
size
-1获得此id(我想这并不昂贵),而使用
remove
时,我必须调用
indexOf
,这对我来说似乎是一种浪费


我遗漏了什么吗?

如何使用索引添加和删除呢?

我认为解释是,和在界面上,因此它们适用于地图集以及基于列表的数据结构。

也许列表不是您需要的数据结构-举个例子说明为什么这样做会很尴尬。删除后,该项不在列表中,所以索引并没有真正的意义。@Emma:没错,不是,但我正在编辑外来代码,这看起来是我在这种情况下所能做的最不具破坏性的修改。或者你对
List
的实现可能是一个排序列表。快告诉我吧,我会删除我的答案。为了详细说明,地图和集合通常没有排序或“索引”的概念。该接口不扩展集合,也没有添加方法。是的,使用indexOf(Object obj)获取索引,然后调用remove(int i)。现在你有了索引。如果您使用ArrayList,这并不是低效的。