java arraylist 集合插值问题

我有个从数据库里面加载数据的集合,里面的数据如下:
name:2 Study:0 Complete:0
name:2 Study:0 Complete:0
name:共选择了5道题 Study:1 Complete:0
name:共选择了5道题 Study:1 Complete:0
name:共选择了5道题 Study:0 Complete:0
name:共选择了5道题 Study:0 Complete:0
name:共选择了5道题 Study:0 Complete:0
name:66不审核 Study:0 Complete:0
name:共选择了4道题 Study:1 Complete:0
name:共选择了4道题 Study:1 Complete:0
name:共选择了4道题 Study:0 Complete:0
name:共选择了4道题 Study:0 Complete:0

现在我对集合按照时间进行排序了(时间我没有打印出来),得到如下的数据:
排序后List:
name:2 Study:0 Complete:0
name:2 Study:0 Complete:0
name:66不审核 Study:0 Complete:0
name:共选择了5道题 Study:1 Complete:0
name:共选择了5道题 Study:0 Complete:0
name:共选择了5道题 Study:0 Complete:0
name:共选择了5道题 Study:0 Complete:0
name:共选择了5道题 Study:1 Complete:0
name:共选择了4道题 Study:1 Complete:0
name:共选择了4道题 Study:0 Complete:0
name:共选择了4道题 Study:0 Complete:0
name:共选择了4道题 Study:1 Complete:0

问题来了: 我想将2个或 2个以上的同名对象还是按照排序前那样不做排序处理,即:
里面的 2,共选择了5道题,共选择了4道题 还是按照未排序前的顺序排序,
只针对 name 排序, 想要的效果如下:

name:2 Study:0 Complete:0
name:2 Study:0 Complete:0
name:66不审核 Study:0 Complete:0
name:共选择了5道题 Study:1 Complete:0
name:共选择了5道题 Study:1 Complete:0
name:共选择了5道题 Study:0 Complete:0
name:共选择了5道题 Study:0 Complete:0
name:共选择了5道题 Study:0 Complete:0
name:共选择了4道题 Study:1 Complete:0
name:共选择了4道题 Study:1 Complete:0
name:共选择了4道题 Study:0 Complete:0
name:共选择了4道题 Study:0 Complete:0

请教大神,该怎么做?

A)因为一般排序选用quicksort算法,这是会打乱Study次序的(快的代价)。
你得自己写个冒泡算法,那个是不会打乱次序的。
B)或者你从数据库中查询的时候加上适当的排序。

表示不明白你的意思。

name一样的记录在ArrayList中是不是必须是紧邻的元素?