0

我有如下方法-:

public void apply(ArrayList<String> tokenStream);

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

这就是我想要做的

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());
        }
    }

我正在尝试从令牌流对象中的令牌中删除空格,该对象在内部使用数组列表来存储令牌,并且此令牌流类具有一组方法来补充 ListIterator 类的方法,例如 set 和 remove,那么我该怎么做关于实施?

4

1 回答 1

1

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

于 2013-09-24T17:05:32.350 回答