組み込み機能に関しては、次を使用できますList#subList(int, int)
。
int size = original.size();
List<Integer> first = original.subList(0, size / 2);
List<Integer> second = original.subList(size / 2, size);
使用するかどうかはsubList()
、コンテンツで何をしているかによって異なります。subList()
ビューを(実際にコピーするのではなく)元のリストに戻します。必ずjavadocを読んでください。スニペットは次のとおりです。
指定されたfromIndex(包括的)とtoIndex(排他的)の間のこのリストの部分のビューを返します。(fromIndexとtoIndexが等しい場合、返されるリストは空です。)返されるリストはこのリストに基づいているため、返されるリストの非構造的な変更はこのリストに反映され、その逆も同様です。返されるリストは、このリストでサポートされているすべてのオプションのリスト操作をサポートします。
subList()
また、私は実際にパフォーマンスについて、そしてそれがあなたの要件をどのように満たすかどうかについて話すことができません。ビューを作成するだけで、コピーするのではないので、比較的高速になると思います。しかし、繰り返しになりますが、かなり状況に応じて、どちらかの方法でプロファイルを作成する必要があります。