我正在使用 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 - 如何左移 ArrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6223456/