开发者社区> 问答> 正文

简单通函清单

这是我关于如何使用arraylist管理简单循环缓冲区的想法。我环顾四周,所有其他通告列表似乎都过于复杂。如果您不担心排序列表之类的问题,那么我认为这会更好,但是我希望得到您的反馈

public class CircularBuffer
{
   //the number of records in the circular arraylist. 
   //I've made the members static so everyone can use the same buffer
   private static ArrayList<Integer> circularList = new ArrayList<>();
   //the number of records in the circular arraylist
   private static final int circularArraySize = 30;

    //Use this function to add an element to the buffer
    public static void addElement(Integer item)
    {
        circularList.add(item);
        //Drop an old record if the size gets too big
        if (circularList.size() > circularArraySize)
        {
//Here is where I'm not sure. 
//If I remove index 0 from the list it should in theory be the oldest element in the list right?   
            circularList.remove(0);
        }
    }//end addCashup

    public static Integer getIndex(int index)
    {
       if (index > circularArraySize || index > circularList.size())
       {
          //handle out of bound index
       }
       return circularList.get(index);
    }
}

展开
收起
几许相思几点泪 2019-12-10 19:45:19 610 0
0 条回答
写回答
取消 提交回答
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载