gpt4 book ai didi

java - 删除 ArrayList 中的空元素

转载 作者:行者123 更新时间:2023-12-01 17:51:33 26 4
gpt4 key购买 nike

我已经研究这个问题有一段时间了,但我仍然感到困惑。

我应该写一个方法口吃,需要 ArrayList<String>作为参数,并将每个字符串替换为该字符串中的两个。例如,如果列表存储值 {"how", "are", "you?"}在调用该方法之前,它应该存储值 {"how", "how", "are", "are", "you?", "you?"}方法执行完毕后。

但是,尽管我尽了最大努力,我似乎​​仍然无法摆脱代码中的空元素。

任何帮助将不胜感激。

public static ArrayList<String> stutter(ArrayList<String> lst) {
ArrayList<String> list = new ArrayList<String>();
int size = lst.size();
int intSize = lst.size();
int inSize = lst.size();
int size4 = list.size();
if (lst.size() == 0) {
lst.clear();
} else {
for (int x = 0; x < size; x++) {
for (int i = 0; i < 2; i++) {
lst.add(lst.get(x));
}
}
for (int x = 0; x < intSize ; x++) {
lst.set(x,"");
}
for (int x = inSize - 1; x < size; x++) {
String oldInfo = lst.get(x);
list.add(oldInfo);
}
list.removeAll("",null);
}
return list;
}

最佳答案

尝试这种方法:

public void duplicate(final List<String> inputList) {

final List<String> temp = new ArrayList<>();
inputList.forEach(element -> {
temp.add(element);
temp.add(element);
});

inputList.clear();
inputList.addAll(temp);

}

基本上我在这里做什么:另一个名为 temp 的列表用于将初始列表中的每个元素存储两次。之后,我只需清理初始列表并添加新内容。

而不是 clearaddAll你可以直接返回temp - 它包含您需要的数据。但不要忘记更改方法返回类型 voidList<String>在这种情况下。

快乐编码:)

关于java - 删除 ArrayList 中的空元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49577987/

26 4 0