gpt4 book ai didi

Java Vector 没有在删除时重新排序索引,但将它们保留为空,在添加命令时重用这些空格

转载 作者:行者123 更新时间:2023-11-30 09:12:18 25 4
gpt4 key购买 nike

我想避免为此使用普通数组,因为我想要至少具有以下命令的东西

//grows in size if no null's are found.
key = indexOf(value);<br>
remove(key);<br>
add(value);<br>
contains(value);<br>
length(); //size();

Vector 拥有所有这些,除了保持索引顺序完整的部分。

也许我想要的东西已经存在于Java SDK中了?谁能告诉我它叫什么。

代码:

import java.util.Vector;

public class VectorDemo {

public static void main(String[] args) {
// create an empty Vector vec with an initial capacity of 4
Vector<Integer> vec = new Vector<Integer>(4);

// use add() method to add elements in the vector
vec.add(0,111);
vec.add(1,9999);
vec.add(2,191919);
vec.add(3,-12394);

System.out.println(vec);
vec.remove(2);
System.out.println(vec);

}
}

输出:

Executing the program....
$java -Xmx128M -Xms16M VectorDemo
[111, 9999, 191919, -12394]
[111, 9999, -12394]

虽然我想要这个输出..

输出:

[111, 9999, 191919, -12394]
[111, 9999, null, -12394]

最佳答案

你可以简单地使用

vec.set(2, null);

要在添加时重用 null 元素,您可以这样做

   int i = vec.indexOf(null)
if (i == -1) {
vec.add(obj);
} else {
vec.set(i, obj);
}

关于Java Vector 没有在删除时重新排序索引,但将它们保留为空,在添加命令时重用这些空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21642660/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com