Java集合:如何将排序列表划分为子列表

Zom*_*ies 4 java collections

假设我有一个列表(EG:LinkedList<SomeObject>包含按某个属性排序的元素(EG :) SomeObject.someValue().这个属性可以并且通常经常重复/它不是唯一的,但是BUT永远不会为空.

有没有一种方便的方法将它分成多个列表,每个列表只包含其相等的基数顺序?此外,这只能在列表的一次迭代中完成吗?例如,原始列表:

1, 1, 1, 2, 2, 3, 3, 3
Run Code Online (Sandbox Code Playgroud)

这个所需的列表:

1, 1, 1
2, 2,
3, 3, 3
Run Code Online (Sandbox Code Playgroud)

Boz*_*zho 10

不太方便,但是:

  • 开始循环.存储上一个项目,并将其与当前项目进行比较.
  • 如果前一个与当前不同(使用equals(..),并小心null),则创建一个新的List,或使用list.subList(groupStart, currentIdx)