【发布时间】:2018-01-30 01:44:51
【问题描述】:
假设我有一个对象列表,我想根据对象的某个属性是否包含特定字符串将它们划分到同一个列表中。
SomeClassA someClass:
String attributeA;
... (other attributes)
例如,假设我有:
List<SomeClassA> someListA = (a list of SomeClassA);
我想将所有SomeClassA 的实例放在attributeA 包含“_DUD”的所有实例之后attributeA 不包含字符串。
一个选项: 我知道我们可以遍历列表,根据条件是否为真(包含“_DUD”)创建并添加到两个列表,然后在第一个列表之后添加第二个列表,但是有没有办法做到这一点创建这些中间列表?
我宁愿不做一个完整的排序,因为顺序并不重要。我们只想将所有包含 _DUD 属性的实例放在一起。
(当然,这是一个替换了名称的简化示例,但我希望它能够满足整体需求)
谢谢!
【问题讨论】:
-
somListA.sort(Comparator.comparing(x -> x.attributeA.endsWith("_DUD")).reversed());