広告スペース(バナー)
🔷Visual Basic(.NET) レッスン
基本文法の基礎8▾
データ構造とオブジェクト指向7▾
構文の基本を深める9▾
関数とデータ構造の応用9▾
アルゴリズムとテストの基礎8▾
文字列・数値操作の応用8▾
実務で役立つ機能8▾
レッスン 42 / 68
リストの平坦化(flatten)
このレッスンでは、VB.NETで入れ子になったリストを平坦化(flatten)する方法を学び、再帰を使ったデータ構造の処理を理解することを目標にします。「VB.NET リスト flatten 実装」で調べている方向けです。
flatten(平坦化)とは、リストの中にリストが入っている入れ子構造を、1段階のシンプルなリストに変換する処理です。入れ子の深さが分からない場合、再帰関数を使うことでどんな深さにも対応できます。
サンプルコードでは、Flatten()関数がTypeOf item Is List(Of Object)で要素がリストかどうかを判定し、リストであれば自分自身を再び呼び出して中身を展開し、そうでなければ結果に追加しています。result.AddRange()で複数の値をまとめて追加している点にも注目してみましょう。
初心者がよくつまずくのが、要素の型判定です。List(Of Object)のようにあらゆる型を格納できるリストを使う場合、中身が数値なのかリストなのかを実行時に判定する必要があり、型の扱いに慣れが必要です。
実際の開発現場では、階層構造を持つメニューやフォルダ構成、JSONのようなネストしたデータを1つのリストとして処理したい場面で、flatten処理がよく使われます。
📖 お手本コード
✍️ あなたのコード
コードを書いたら「実行する」を押してください
🧪 このサイトではVisual Basic(.NET)を直接コンパイル・実行できないため、お手本コードと同じ内容を入力できたかをその場で判定します(採点はブラウザ内だけで行われ、どこにも送信されません)。
🎯
ここまでできればゴール達成!
入れ子になったデータを、1つのまとまったリストに整理できるようになります。
入れ子になったデータを、1つのまとまったリストに整理できるようになります。
広告スペース(バナー)
広告スペース(記事内)