ホームページ > Java > &#&チュートリアル > Java ArrayList を複数の小さな ArrayList に分割するにはどうすればよいですか?

Java ArrayList を複数の小さな ArrayList に分割するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-11-19 04:33:02
オリジナル
432 人が閲覧しました

How to Split a Java ArrayList into Multiple Smaller ArrayLists?

Java で ArrayList を複数の小さな ArrayList に分割する

特定の長さの配列を、あらかじめ決められたサイズの小さな配列に分割するのが一般的です。プログラミングにおけるタスク。 Java ArrayList を扱う場合、subList(int fromIndex, int toIndex) メソッドが便利です。

subList() メソッドは、指定された fromIndex (両端を含む) から始まり、元のリストの一部のビューを作成します。 toIndex (排他的) にあります。このビューは元のリストに基づいています。

その使用法を説明するために、整数の ArrayList を考えてみましょう:

List<Integer> numbers = new ArrayList<>(
    Arrays.asList(5, 3, 1, 2, 9, 5, 0, 7)
);
ログイン後にコピー

subList() を使用すると、より小さいビューを作成できます:

List<Integer> head = numbers.subList(0, 4);
System.out.println(head); // Prints: [5, 3, 1, 2]
ログイン後にコピー

リストをビュー以外のサブリストに分割するには、以下に基づいて新しいリストを作成できます。 views:

List<List<Integer>> parts = new ArrayList<>();
final int L = 3;
final int N = numbers.size();

for (int i = 0; i < N; i += L) {
    parts.add(new ArrayList<>(list.subList(i, Math.min(N, i + L))));
}
ログイン後にコピー

これにより、複数のより小さい ArrayList が生成されます。ただし、サブリストに加えられた変更は、変更不可能なバージョンを作成しない限り、元のリストに反映されます。

例:

List<Integer> numbers = Collections.unmodifiableList(
    Arrays.asList(5, 3, 1, 2, 9, 5, 0, 7)
);
List<List<Integer>> parts = chopped(numbers, 3);
System.out.println(parts); // Prints: [[5, 3, 1], [2, 9, 5], [0, 7]]
parts.get(0).add(-1);
System.out.println(parts); // Prints: [[5, 3, 1, -1], [2, 9, 5], [0, 7]]
System.out.println(numbers); // Prints: [5, 3, 1, 2, 9, 5, 0, 7] (unchanged)
ログイン後にコピー

以上がJava ArrayList を複数の小さな ArrayList に分割するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート