我正在使用ArrayList来保存对象的历史记录.我使用.add方法添加的每个新对象,如:
if(event.getAction() == MotionEvent.ACTION_UP){ if(currentWord != null) { wordHist.add(currentWord); } if(wordHist.size() > WORDHIST_MAX_COUNT) { wordHist.remove(0); }}
但是我不希望这种情况无限增长,而是局限于一定的价值.如果它达到这个最大值,我想要删除最旧的对象(索引0),其余的左移,所以先前的索引1现在是索引0,等等.
如何才能做到这一点?
谢谢
解决方法:
在这种情况下,ArrayList不是一个好的选择,但它可以通过调用remove(0)方法来完成.但如果你想有效地做到这一点,链接列表会更好
(编辑以清楚表明linkedList通常不比ArrayList好,但只在这种情况下)
总结以上是内存溢出为你收集整理的java – 如何leftshift一个ArrayList全部内容,希望文章能够帮你解决java – 如何leftshift一个ArrayList所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)