Отслеживать момент времени, который был помещен в массив

#java #time #arraylist #point

#java #время #arraylist #точка

Вопрос:

Каков наилучший способ отслеживать время, когда точка была помещена в arraylist, чтобы они удалялись по истечении срока их действия?

 ArrayList<Point> path=new ArrayList<Point>();
path.add(new Point( 1, 1)// time=1
path.add(new Point( 2,2)// time=2
path.add(new Point(3,3) //time=3
 

поэтому, если время становится 4, любые точки, которые были введены до этого, истекли и могут быть удалены

Комментарии:

1. Вы не имеете в виду path.add(new Point(1,1)); и т.д.?

Ответ №1:

Вместо того, чтобы иметь an ArrayList<Point> , рассмотрим a LinkedList<PointAndTime> . LinkedList Будет более эффективно удалять элементы с самого начала, и вам нужно сохранить как точку, так и время, поэтому объедините их в один и тот же тип.

Комментарии:

1. Разве ArrayDeque не был бы более эффективным, чем оба из них?

Ответ №2:

Оберните Point объект и time поле в другой объект. Можно было бы назвать что-то вроде PointWithTime .. и т.д.

Затем добавьте их в свои ArrayList объекты вместо Point объектов.