私はオブジェクトのリストを持っており、オブジェクトの特定の属性に特定の文字列が含まれているかどうかに基づいて同じリスト内でそれらを分割したいとします。ブール値に基づいてリストを部分的に並べ替える
List<SomeClassA> someListA = (a list of SomeClassA);
そして私はattributeA
がattributeA
は、文字列が含まれていないすべてのインスタンスの後に「_DUD」が含まれてSomeClassA
のすべてのインスタンスを入れたい:例えば
SomeClassA someClass:
String attributeA;
... (other attributes)
は、私が持っていると言います。
1つのオプション: 私はリストをループし、条件が真であるかどうか( "_DUD"を含む)に基づいて2つのリストを作成して追加し、最初のリストの後に2番目のリストを追加することができますこれらの中間リストを作成せずにそれを行う方法はありますか?
注文は本当に問題ではないので、私は完全な並べ替えをしたくないです。 _DUD属性を含むすべてのインスタンスを一緒にまとめたいだけです。
(これは当然の置き換え名と簡略化した例であるが、私はそれは全体の全体的な必要性を持って願っています)
ありがとう!
'somListA.sort - ;' – shmosel
HTTPSを(Comparator.comparing(X> x.attributeA.endsWith( "_ DUD"))逆に()。): //stackoverflow.com/questions/29723998/boolean-array-reordering-in-o1-space-and-on-time – shmosel