gpt4 book ai didi

java - 如何从 Java 中的数组中删除一个条目,以便其他条目保持顺序

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:56:21 27 4
gpt4 key购买 nike

原谅笨拙的标题

我想编写一个方法,从数组中删除特定条目,但不会在数组中留下空缺口。例如,如果一个字符串数组包含

|aa,bb,cc,dd,ee|

系统会提示用户输入他们想要删除的数字,该方法会找到该条目的索引,删除该索引,然后将空条目移动到最后一个槽位。

因此,如果用户输入 cc,数组的内容将是

|aa,bb,dd,ee,null|

编辑:我意识到我在这里遗漏了一些信息。我要删除的条目将从另一个方法传递。然后,我将使用 for 循环来查找条目的索引(如果找不到,什么都不做)。但是我对如何进行删除感到困惑。

最佳答案

首先:我强烈建议使用 ArrayList,您可以在其中轻松删除和添加项目,而无需更改集合的其余部分(它还有一个 toArray() 方法)。

也就是说,tihs 将是一个仅使用数组的示例解决方案:

public static void main(String[] args) {
String[] arr = new String[5];
arr[0] = "aa";
arr[1] = "bb";
arr[2] = "cc";
arr[3] = "dd";
arr[4] = "ee";

System.out.println(Arrays.toString(arr));

int deleteIndex = 2;
System.arraycopy(arr, deleteIndex + 1, arr, deleteIndex, arr.length - deleteIndex - 1);
arr[4] = null;

System.out.println(Arrays.toString(arr));
}

输出:

[aa, bb, cc, dd, ee]
[aa, bb, dd, ee, null]

想法是将元素从索引开始向前移动一个位置以删除 + 1。之后您手动将最新项目设置为 null 否则它将复制最后一个条目。

关于java - 如何从 Java 中的数组中删除一个条目,以便其他条目保持顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20254914/

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