gpt4 book ai didi

java - 部分填充数组,删除重复数组

转载 作者:行者123 更新时间:2023-12-01 15:00:01 24 4
gpt4 key购买 nike

我正在用 Absolute Java 做一项练习。
问题是:编写一个静态方法,该方法将部分填充的字符数组作为形式参数,并从数组中删除所有重复的字母。该方法应该有两个形式参数:一个数组参数和一个 int 类型的形式参数,该参数给出所使用的数组位置的数量。删除该字母后,剩余的字母将移动一个位置以填补空白。

我想到的是使用hashset,这应该是最简单的方法。
我想到的另一种方法是将 array 转换为 list ,删除重复元素,然后将其传回。
这对我来说是一个问题:如何编写该代码? (我为什么要问这个?)

public static char[] deleteRepeats(char[] array, int size)
{
ArrayList<String> newarray = new ArrayList<String>();
newarray = Arrays.asList(array);
}

它说类型不匹配,我该如何更正代码?

另一个问题是:回到最初的问题,如何使用部分填充的数组来实现?

最佳答案

ArrayList<String> newarray = new ArrayList<String>();

是Generic类型String的数组列表。但是你的参数是 char类型。因此它们不可互换。这就是抛出 Type Mismatch 的原因错误。

您使用 Set 是对的是实现它的最简单的方法。但我不知道该练习是否需要您手动完成这项工作。

但是,如果您无法使用包装类 Character并且必须使用char输入然后你必须进行手动转换,如果你想得到 Set为您完成替换工作。

编辑:

您不能使用Arrays.asList()方法来获取这样的列表。该方法将 java 对象作为参数而不是原始类型。当你通过 char[]它看到的唯一对象是数组本身。

所以结果是 List<char[]>因为泛型不支持原始类型。

关于java - 部分填充数组,删除重复数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13795111/

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