【问题标题】:Limiting size of ArrayList using add [duplicate]使用添加限制 ArrayList 的大小
【发布时间】:2015-06-19 22:08:09
【问题描述】:
class arrayList extends ArrayList<missedCall>
{
     public boolean add(missedCall m)
     {
        int i=size();
        if(i>10)
            remove(0);
        super.add(m);
        return true;
      }
 }

当我使用用户定义的类 arrayList 调用 add 方法 11 次时,第一个元素不会被删除。

请提供解决方案

【问题讨论】:

    标签: java


    【解决方案1】:

    如果您在 添加后检查大小,则更易于阅读:

    super.add(m);
    if (size() > 10)
        remove(0);
    

    然后你可以保持你的比较,这是有道理的:“如果这个尺寸太大,那就缩小它”。

    这比首先检查更容易理解,这就像“如果在即将添加的 之后尺寸变得太大,则减小它”,这不太清楚。

    【讨论】:

      【解决方案2】:

      您的if(i&gt;10) 条件仅在第 12 次调用此方法时为真,因此调用该方法 11 次不会删除第一个元素。

      也许您想将您的条件更改为:

      if(i>=10)
          remove(0);
      

      【讨论】:

      • 吹毛求疵:我会把 { } 放在这附近。没有大括号可以节省一点打字;当您忘记添加另一个语句时需要它们时,可能会遇到烦人的情况。
      猜你喜欢
      • 1970-01-01
      • 2018-12-21
      • 2013-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-10
      • 2019-02-27
      • 2015-02-18
      相关资源
      最近更新 更多