【问题标题】:How do I delete element from arraylist如何从arraylist中删除元素
【发布时间】:2016-05-11 19:05:58
【问题描述】:

大家好,大家正在开发一个带有 textview 的 Android 计算器应用程序,textview 中的所有文本都输入到 ArrayList 中。到目前为止,除了删除按钮之外,一切正常,所以如果我的ArrayList 包含元素[12999,+,56,-,545],我一直在尝试做的是删除ArrayList 的最后一个String,即(5),所以ArrayList变成[12999,4,56,4,54]。这是我到目前为止的代码

public void delete(View view) {
    String s;
    into s1;
    s = maincalculator.getText.to      
    string();
    s1 = maincalculator.getText.to      
    string().length();
    if(s1 > 0)
    {
        s = s.substring(0, s1 - 1);
        maincalculator.setText(s);
        arraylist.set(arraylist.size, s);
    }
}

【问题讨论】:

  • 你是怎么从[12999,+,56,-,545] 变成[12999,4,56,4,54]的?缺少我不理解的信息。为什么+-4 取代?最后一个元素不是-54吗?
  • 抱歉问题已编辑,所有错误已修复

标签: java android arraylist


【解决方案1】:

你不持有删除字符串的结果。使用这个。

String newStr = s.substring(0,s1-1);
maincalculator.setText(newStr);
arraylist.set(arraylist.size, newStr);

【讨论】:

    【解决方案2】:

    哇,首先:将变量命名为有意义的名称,这样代码更易于阅读和调试。

    从 ArrayList 中删除最后一项:

    myArrayList.remove(myArrayList.size() - 1)
    

    .size()返回项目数,- 1是获取索引(从0开始,对吧?)。

    【讨论】:

    • 删除最后一项往往会删除索引的全部内容,例如 [3,44,55] 删除最后一个索引会得到 [3,44]。我需要的是删除部分索引以获得 [3,44,5] 删除 5
    【解决方案3】:

    编辑:在我意识到你想要做什么后更新。试试这个:

        //Trim s to the substring that you want
        s = s.substring(0, s.length() - 1);
        //Set it to the last element in the arrayList
        arrayList.set(arrayList.size() - 1, s);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-24
      • 2018-11-05
      • 2018-07-19
      • 2016-07-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多