gpt4 book ai didi

java - 如何有效使用ListIterator?

转载 作者:行者123 更新时间:2023-12-01 14:04:49 25 4
gpt4 key购买 nike

我有一个类似以下的方法 -:

public void apply(ArrayList<String> tokenStream);

其中我接受如下所示的字符串标记列表 - tokenStream = ("I am good", "I am bad") ,并且我希望能够将 tokenStream 列表中的这些标记转换为单独的标记,并且将它们添加回同一个列表,方法执行结束后我应该有 - tokenStream = ("I", "am","good", "I", "am", "bad"), How我可以使用ListIterator来解决这个问题吗?基本上,我希望能够拆分 tokenStream 中的各个字符串,并使用 ListIterators set 和 remove 方法将它们添加回同一个流对象,我该怎么做?

这就是我正在尝试做的事情

public void apply(tokenstream stream){

if (stream != null) {

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

while (stream.hasNext()) {

String token = stream.next();

String[] splitTokens = token.split("\\s+");

for (int i = 0; i < splitTokens.length; ++i)
splittedTokens.add(splitTokens[i]);
}

// set the stream to hold this new formed stream with tokens
stream.set((String[]) splittedTokens.toArray());
}
}

我试图从 token 流对象中的 token 中删除空格,该对象内部使用数组列表来存储 token ,并且此 token 流类有一组方法补充 ListIterator 类的方法,例如 set 和 remove,那么如何我要实现它吗?

最佳答案

对于此任务,最好的方法似乎是创建一个临时列表,迭代 tokenStream 分割 token 并将它们添加到临时列表中,然后从临时中清除 tokenStream 和 addAll

关于java - 如何有效使用ListIterator?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18987698/

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