我有一个LinkedList>,里面的List最大长度为1024,每隔一段时间会向LinkedList的最后一个List添加数据,然后如果满了1024就新建一个List加在队列最后,而这边主线程会取出LinkedList的第一个元素交给一个新的List toSend并删除,然后系统遍历这个toSend处理当中的Object。
而如果直接用一个LinkedList每次直接往队列里面加Object,从队首取Object处理,这样也是一样的效果。
我想问,第一种方式有什么优点么?
我有一个LinkedList>,里面的List最大长度为1024,每隔一段时间会向LinkedList的最后一个List添加数据,然后如果满了1024就新建一个List加在队列最后,而这边主线程会取出LinkedList的第一个元素交给一个新的List toSend并删除,然后系统遍历这个toSend处理当中的Object。
而如果直接用一个LinkedList每次直接往队列里面加Object,从队首取Object处理,这样也是一样的效果。
我想问,第一种方式有什么优点么?
没看出第一种有什么优点,感觉操作上还复杂了些。
LinkedList 本身是有顺序的,提供先进先出队列操作,也就是说遍历输出的顺序就是泥放入的顺序。
不过这个不是线程安全的,这点使用的时候要注意。