有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何更改arraylist的每个字符串元素?

我有一个ListView,其中的arraylist包含未知数量的字符串元素。我想更改/修改这些字符串项中的每一项。问题是,我不知道有多少项目,因为用户可以更改它

我有一个translate函数,它接受一个字符串并返回一个字符串。我想做的是

arraylistelement1 = translate(arraylistelement1);
arraylistelement2 = translate(arraylistelement2);
... 

并用新字符串重新填充listviewarraylist

有什么办法


共 (2) 个答案

  1. # 1 楼答案

    迭代列表并从原始列表创建一个新的已翻译选项列表,然后用新值替换原始列表的内容。如果在迭代时进行替换,将得到ConcurrentModificationException

  2. # 2 楼答案

    使用ListIterator。设置:

    public static void main(String[] args) {
        List<String> list = new ArrayList<>(Arrays.asList("s0", "s1", "s2"));
    
        ListIterator<String> iter = list.listIterator();
    
        while (iter.hasNext())
           iter.set(translate(iter.next()));
    
        for (String element : list)
            System.out.println(element);
    }
    
    public static String translate(String element) {
        return element + " " + Math.random();
    }