【问题标题】:How do I update the element at a certain position in an ArrayList? [duplicate]如何更新 ArrayList 中某个位置的元素? [复制]
【发布时间】:2011-05-20 04:02:01
【问题描述】:

我有一个 ArrayList,共 10 个 Strings。如何使用另一个 String 值更新索引 5

【问题讨论】:

  • 对于刚接触 Java 的 ArrayList<> 库的人来说非常常见的问题。 set(pos, val) 方法的存在并不直观,也不适合其他 Java 范式。
  • 在kotlin中使用数据类时,如下: val modelData = ModelData() listData[index] = modelData

标签: java arraylist


【解决方案1】:
 import java.util.ArrayList;
 import java.util.Iterator;


 public class javaClass {

public static void main(String args[]) {


    ArrayList<String> alstr = new ArrayList<>();
    alstr.add("irfan");
    alstr.add("yogesh");
    alstr.add("kapil");
    alstr.add("rajoria");

    for(String str : alstr) {
        System.out.println(str);
    }
    // update value here
    alstr.set(3, "Ramveer");
    System.out.println("with Iterator");
    Iterator<String>  itr = alstr.iterator();

    while (itr.hasNext()) {
        Object obj = itr.next();
        System.out.println(obj);

    }
}}

【讨论】:

    【解决方案2】:

    arrList 成为ArrayListnewValue 新的String,然后这样做:

    arrList.set(5, newValue);
    

    这可以在java api参考here中找到。

    【讨论】:

      【解决方案3】:

      arrayList.set(location,newValue); location= 你要插入的位置,newValue= 你要插入的新元素。

      通知是可选的,取决于条件。

      【讨论】:

        【解决方案4】:
         arrList.set(5,newValue);
        

        如果你想更新它,那么也添加这一行

         youradapater.NotifyDataSetChanged();
        

        【讨论】:

          【解决方案5】:
          list.set(5,"newString");  
          

          【讨论】:

          • 我认为您的意思是索引 5,因为 ArrayList 只有 10 个元素,这会爆炸。 ;)
          • @Peter 哦,是的,交换了 5 和 10:p
          猜你喜欢
          • 1970-01-01
          • 2022-07-06
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-01-30
          相关资源
          最近更新 更多