今天遇到一个问题,写一个小游戏,要存储打出去的子弹,在Form中遍历所有子弹并把他们画出来。
起初用LinkedList存储子弹对象,但是子弹越打越多,这个LinkedList会无限增大,写出来感觉很别扭。
于是写了一个缓存类,缓存一定数目的子弹对象,当子弹数目超过缓存大小是就覆盖掉最旧的对象。
程序有些地方有点像数组队列,不过这里没有头尾之分,也没有出队操作,它的对象的指针自动被覆盖,然后交由垃圾回收器来处理。所以下面的程序Java和C#都可以(Java验证过)。如果要写成C++的,就要考虑对象的手动删除了。



































