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

Java 如何更改arraylist的每个字符串元素?,java,android,listview,android-listview,arraylist,Java,Android,Listview,Android Listview,Arraylist,我有一个列表视图,其中的arraylist包含未知数量的字符串元素。我想更改/修改这些字符串项中的每一项。问题是,我不知道有多少项目,因为用户可以更改它 我有一个translate函数,它接受一个字符串并返回一个字符串。我想做的是 arraylistelement1 = translate(arraylistelement1); arraylistelement2 = translate(arraylistelement2); ... 并用新字符串重新填充listviewarraylist

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

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

arraylistelement1 = translate(arraylistelement1);
arraylistelement2 = translate(arraylistelement2);
... 
并用新字符串重新填充
listview
arraylist


有什么方法可以做到这一点?

迭代列表,从原始列表中创建一个新的转换选项列表,然后用新值替换原始列表的内容。如果在迭代时进行替换,您将得到ConcurrentModificationExceptions。

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

使用ListIterator.set:

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();
}
publicstaticvoidmain(字符串[]args){
列表列表=新的ArrayList(Arrays.asList(“s0”、“s1”、“s2”);
ListIterator iter=list.ListIterator();
while(iter.hasNext())
iter.set(translate(iter.next());
for(字符串元素:列表)
系统输出打印项次(元素);
}
公共静态字符串转换(字符串元素){
返回元素+“”+Math.random();
}
使用ListIterator.set:

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();
}
publicstaticvoidmain(字符串[]args){
列表列表=新的ArrayList(Arrays.asList(“s0”、“s1”、“s2”);
ListIterator iter=list.ListIterator();
while(iter.hasNext())
iter.set(translate(iter.next());
for(字符串元素:列表)
系统输出打印项次(元素);
}
公共静态字符串转换(字符串元素){
返回元素+“”+Math.random();
}

ArrayList temp=new ArrayList();对于(字符串:字符串){temp.add(translate(字符串));}strings=temp@穆拉特卡娅,他刚刚做到了!是的,我以前没见过。但是我无法让代码正常工作。我把我的数组列表而不是字符串。我是否用任何东西替换字符串?ArrayList temp=new ArrayList();对于(字符串:字符串){temp.add(translate(字符串));}strings=temp@穆拉特卡娅,他刚刚做到了!是的,我以前没见过。但是我无法让代码正常工作。我把我的数组列表而不是字符串。我是否用任何东西替换字符串?如何在不知道元素数量的情况下替换字符串?类似于
(对于int I=0;I
如何在不知道元素数量的情况下替换字符串?类似于
(对于int I=0;I