跟踪一个点在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,那么之前放入的任何点都已过期且可以删除
答案 0 :(得分:1)
不要使用ArrayList<Point>
,而应考虑LinkedList<PointAndTime>
。 LinkedList
从一开始就更有效地删除项目,您需要存储点和时间,因此将它们组合在同一类型中。
答案 1 :(得分:0)
将Point
对象和time
字段换行到另一个对象中。可以称为PointWithTime
等等。
然后将其添加到ArrayList
而不是Point
个对象。