{"id":3178,"date":"2025-10-18T19:07:59","date_gmt":"2025-10-18T10:07:59","guid":{"rendered":"https:\/\/www.blowfish.co.jp\/?p=3178"},"modified":"2025-10-18T19:07:59","modified_gmt":"2025-10-18T10:07:59","slug":"%e7%ac%ac3%e7%ab%a0-%e3%82%b3%e3%83%ac%e3%82%af%e3%82%b7%e3%83%a7%e3%83%b3","status":"publish","type":"post","link":"https:\/\/www.blowfish.co.jp\/?p=3178","title":{"rendered":"\u7b2c3\u7ae0 \u30b3\u30ec\u30af\u30b7\u30e7\u30f3"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">List\uff08\u30ea\u30b9\u30c8\uff09<\/h2>\n\n\n\n<p>List\u306f\u9806\u5e8f\u4ed8\u3051\u3089\u308c\u305f\u8981\u7d20\u306e\u96c6\u5408\u3067\u3059\u3002\u540c\u3058\u8981\u7d20\u3092\u8907\u6570\u56de\u542b\u3080\u3053\u3068\u304c\u3067\u304d\u3001\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3067\u30a2\u30af\u30bb\u30b9\u3067\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">List\u306e\u57fa\u672c\u64cd\u4f5c<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>void main() {\n  \/\/ List\u306e\u4f5c\u6210\n  List&lt;int&gt; numbers = &#91;1, 2, 3, 4, 5];\n  var fruits = &#91;'\u308a\u3093\u3054', '\u30d0\u30ca\u30ca', '\u30aa\u30ec\u30f3\u30b8'];  \/\/ \u578b\u63a8\u8ad6\n  \n  \/\/ \u7a7a\u306eList\n  List&lt;String&gt; emptyList = &#91;];\n  var anotherEmpty = &lt;String&gt;&#91;];\n  \n  \/\/ \u8981\u7d20\u3078\u306e\u30a2\u30af\u30bb\u30b9\n  print('\u6700\u521d\u306e\u8981\u7d20: ${fruits&#91;0]}');        \/\/ \u308a\u3093\u3054\n  print('\u6700\u5f8c\u306e\u8981\u7d20: ${fruits&#91;fruits.length - 1]}');  \/\/ \u30aa\u30ec\u30f3\u30b8\n  print('\u6700\u5f8c\u306e\u8981\u7d20: ${fruits.last}');      \/\/ \u30aa\u30ec\u30f3\u30b8\n  print('\u6700\u521d\u306e\u8981\u7d20: ${fruits.first}');     \/\/ \u308a\u3093\u3054\n  \n  \/\/ \u8981\u7d20\u6570\n  print('\u8981\u7d20\u6570: ${fruits.length}');\n  \n  \/\/ \u7a7a\u304b\u3069\u3046\u304b\n  print('\u7a7a?: ${fruits.isEmpty}');         \/\/ false\n  print('\u7a7a\u3067\u306a\u3044?: ${fruits.isNotEmpty}'); \/\/ true\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">List\u3078\u306e\u8981\u7d20\u306e\u8ffd\u52a0\u30fb\u524a\u9664<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>void main() {\n  var fruits = &#91;'\u308a\u3093\u3054', '\u30d0\u30ca\u30ca'];\n  \n  \/\/ \u672b\u5c3e\u306b\u8ffd\u52a0\n  fruits.add('\u30aa\u30ec\u30f3\u30b8');\n  print(fruits);  \/\/ &#91;\u308a\u3093\u3054, \u30d0\u30ca\u30ca, \u30aa\u30ec\u30f3\u30b8]\n  \n  \/\/ \u8907\u6570\u8981\u7d20\u3092\u8ffd\u52a0\n  fruits.addAll(&#91;'\u3076\u3069\u3046', '\u3044\u3061\u3054']);\n  print(fruits);  \/\/ &#91;\u308a\u3093\u3054, \u30d0\u30ca\u30ca, \u30aa\u30ec\u30f3\u30b8, \u3076\u3069\u3046, \u3044\u3061\u3054]\n  \n  \/\/ \u6307\u5b9a\u4f4d\u7f6e\u306b\u633f\u5165\n  fruits.insert(1, '\u30e1\u30ed\u30f3');\n  print(fruits);  \/\/ &#91;\u308a\u3093\u3054, \u30e1\u30ed\u30f3, \u30d0\u30ca\u30ca, \u30aa\u30ec\u30f3\u30b8, \u3076\u3069\u3046, \u3044\u3061\u3054]\n  \n  \/\/ \u6307\u5b9a\u4f4d\u7f6e\u306b\u8907\u6570\u633f\u5165\n  fruits.insertAll(2, &#91;'\u6843', '\u68a8']);\n  print(fruits);  \/\/ &#91;\u308a\u3093\u3054, \u30e1\u30ed\u30f3, \u6843, \u68a8, \u30d0\u30ca\u30ca, \u30aa\u30ec\u30f3\u30b8, \u3076\u3069\u3046, \u3044\u3061\u3054]\n  \n  \/\/ \u8981\u7d20\u306e\u524a\u9664\n  fruits.remove('\u30d0\u30ca\u30ca');  \/\/ \u6700\u521d\u306b\u898b\u3064\u304b\u3063\u305f\u8981\u7d20\u3092\u524a\u9664\n  print(fruits);\n  \n  \/\/ \u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3067\u524a\u9664\n  fruits.removeAt(0);  \/\/ \u308a\u3093\u3054\u3092\u524a\u9664\n  print(fruits);\n  \n  \/\/ \u6700\u5f8c\u306e\u8981\u7d20\u3092\u524a\u9664\n  fruits.removeLast();\n  print(fruits);\n  \n  \/\/ \u6761\u4ef6\u306b\u5408\u3046\u8981\u7d20\u3092\u524a\u9664\n  fruits.removeWhere((fruit) =&gt; fruit.length &gt; 3);\n  print(fruits);\n  \n  \/\/ \u3059\u3079\u3066\u524a\u9664\n  fruits.clear();\n  print('\u30af\u30ea\u30a2\u5f8c: $fruits');  \/\/ &#91;]\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">List\u306e\u64cd\u4f5c<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>void main() {\n  var numbers = &#91;5, 2, 8, 1, 9, 3];\n  \n  \/\/ \u30bd\u30fc\u30c8\n  numbers.sort();\n  print('\u6607\u9806: $numbers');  \/\/ &#91;1, 2, 3, 5, 8, 9]\n  \n  numbers.sort((a, b) =&gt; b.compareTo(a));  \/\/ \u964d\u9806\n  print('\u964d\u9806: $numbers');  \/\/ &#91;9, 8, 5, 3, 2, 1]\n  \n  \/\/ \u53cd\u8ee2\n  var reversed = numbers.reversed.toList();\n  print('\u53cd\u8ee2: $reversed');\n  \n  \/\/ \u90e8\u5206\u30ea\u30b9\u30c8\n  var sublist = numbers.sublist(1, 4);  \/\/ \u30a4\u30f3\u30c7\u30c3\u30af\u30b91\u304b\u30893\u307e\u3067\n  print('\u90e8\u5206\u30ea\u30b9\u30c8: $sublist');\n  \n  \/\/ \u8981\u7d20\u306e\u691c\u7d22\n  print('5\u3092\u542b\u3080?: ${numbers.contains(5)}');\n  print('5\u306e\u30a4\u30f3\u30c7\u30c3\u30af\u30b9: ${numbers.indexOf(5)}');\n  print('10\u306e\u30a4\u30f3\u30c7\u30c3\u30af\u30b9: ${numbers.indexOf(10)}');  \/\/ -1\uff08\u898b\u3064\u304b\u3089\u306a\u3044\uff09\n  \n  \/\/ \u30ea\u30b9\u30c8\u306e\u7d50\u5408\n  var list1 = &#91;1, 2, 3];\n  var list2 = &#91;4, 5, 6];\n  var combined = &#91;...list1, ...list2];\n  print('\u7d50\u5408: $combined');\n  \n  \/\/ \u7bc4\u56f2\u6307\u5b9a\n  var range = List.generate(5, (index) =&gt; index * 2);\n  print('\u751f\u6210: $range');  \/\/ &#91;0, 2, 4, 6, 8]\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u56fa\u5b9a\u9577List\u3068\u6210\u9577\u53ef\u80fd\u306aList<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>void main() {\n  \/\/ \u6210\u9577\u53ef\u80fd\u306aList\uff08\u30c7\u30d5\u30a9\u30eb\u30c8\uff09\n  var growable = &#91;1, 2, 3];\n  growable.add(4);  \/\/ OK\n  print('\u6210\u9577\u53ef\u80fd: $growable');\n  \n  \/\/ \u56fa\u5b9a\u9577List\n  var fixed = List.filled(3, 0);  \/\/ &#91;0, 0, 0]\n  print('\u56fa\u5b9a\u9577: $fixed');\n  fixed&#91;0] = 1;  \/\/ \u8981\u7d20\u306e\u5909\u66f4\u306fOK\n  \/\/ fixed.add(4);  \/\/ \u30a8\u30e9\u30fc: \u56fa\u5b9a\u9577List\u306b\u306f\u8ffd\u52a0\u3067\u304d\u306a\u3044\n  \n  \/\/ \u56fa\u5b9a\u9577List\u3092\u6210\u9577\u53ef\u80fd\u306b\u5909\u63db\n  var converted = fixed.toList(growable: true);\n  converted.add(4);  \/\/ OK\n  print('\u5909\u63db\u5f8c: $converted');\n  \n  \/\/ \u5909\u66f4\u4e0d\u53ef\u80fd\u306aList\n  var unmodifiable = List.unmodifiable(&#91;1, 2, 3]);\n  \/\/ unmodifiable&#91;0] = 5;  \/\/ \u30a8\u30e9\u30fc: \u5909\u66f4\u4e0d\u53ef\n  \/\/ unmodifiable.add(4);   \/\/ \u30a8\u30e9\u30fc: \u8ffd\u52a0\u4e0d\u53ef\n}\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Set\uff08\u30bb\u30c3\u30c8\uff09<\/h2>\n\n\n\n<p>Set\u306f\u9806\u5e8f\u3092\u6301\u305f\u306a\u3044\u3001\u91cd\u8907\u306e\u306a\u3044\u8981\u7d20\u306e\u96c6\u5408\u3067\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Set\u306e\u57fa\u672c\u64cd\u4f5c<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>void main() {\n  \/\/ Set\u306e\u4f5c\u6210\n  Set&lt;int&gt; numbers = {1, 2, 3, 4, 5};\n  var fruits = {'\u308a\u3093\u3054', '\u30d0\u30ca\u30ca', '\u30aa\u30ec\u30f3\u30b8'};\n  \n  \/\/ \u91cd\u8907\u306f\u81ea\u52d5\u7684\u306b\u524a\u9664\u3055\u308c\u308b\n  var duplicates = {1, 2, 2, 3, 3, 3};\n  print('\u91cd\u8907\u524a\u9664: $duplicates');  \/\/ {1, 2, 3}\n  \n  \/\/ \u7a7a\u306eSet\n  Set&lt;String&gt; emptySet = {};\n  var anotherEmpty = &lt;String&gt;{};\n  \n  \/\/ \u8981\u7d20\u6570\n  print('\u8981\u7d20\u6570: ${fruits.length}');\n  \n  \/\/ \u8981\u7d20\u306e\u5b58\u5728\u30c1\u30a7\u30c3\u30af\n  print('\u308a\u3093\u3054\u3092\u542b\u3080?: ${fruits.contains('\u308a\u3093\u3054')}');\n  \n  \/\/ \u3059\u3079\u3066\u306e\u8981\u7d20\n  print('\u3059\u3079\u3066\u306e\u8981\u7d20: $fruits');\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Set\u3078\u306e\u8981\u7d20\u306e\u8ffd\u52a0\u30fb\u524a\u9664<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>void main() {\n  var fruits = {'\u308a\u3093\u3054', '\u30d0\u30ca\u30ca'};\n  \n  \/\/ \u8981\u7d20\u306e\u8ffd\u52a0\n  fruits.add('\u30aa\u30ec\u30f3\u30b8');\n  print(fruits);\n  \n  \/\/ \u91cd\u8907\u3057\u305f\u8981\u7d20\u3092\u8ffd\u52a0\u3057\u3088\u3046\u3068\u3057\u3066\u3082\u7121\u8996\u3055\u308c\u308b\n  var added = fruits.add('\u308a\u3093\u3054');\n  print('\u8ffd\u52a0\u6210\u529f?: $added');  \/\/ false\n  print(fruits);  \/\/ \u5909\u5316\u306a\u3057\n  \n  \/\/ \u8907\u6570\u8981\u7d20\u3092\u8ffd\u52a0\n  fruits.addAll(&#91;'\u3076\u3069\u3046', '\u3044\u3061\u3054', '\u308a\u3093\u3054']);\n  print(fruits);  \/\/ \u308a\u3093\u3054\u306f\u91cd\u8907\u3057\u306a\u3044\u306e\u3067\u8ffd\u52a0\u3055\u308c\u306a\u3044\n  \n  \/\/ \u8981\u7d20\u306e\u524a\u9664\n  fruits.remove('\u30d0\u30ca\u30ca');\n  print(fruits);\n  \n  \/\/ \u6761\u4ef6\u306b\u5408\u3046\u8981\u7d20\u3092\u524a\u9664\n  fruits.removeWhere((fruit) =&gt; fruit.length &gt; 4);\n  print(fruits);\n  \n  \/\/ \u3059\u3079\u3066\u524a\u9664\n  fruits.clear();\n  print('\u30af\u30ea\u30a2\u5f8c: $fruits');\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Set\u6f14\u7b97<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>void main() {\n  var set1 = {1, 2, 3, 4, 5};\n  var set2 = {4, 5, 6, 7, 8};\n  \n  \/\/ \u548c\u96c6\u5408\uff08union\uff09\n  var union = set1.union(set2);\n  print('\u548c\u96c6\u5408: $union');  \/\/ {1, 2, 3, 4, 5, 6, 7, 8}\n  \n  \/\/ \u7a4d\u96c6\u5408\uff08intersection\uff09\n  var intersection = set1.intersection(set2);\n  print('\u7a4d\u96c6\u5408: $intersection');  \/\/ {4, 5}\n  \n  \/\/ \u5dee\u96c6\u5408\uff08difference\uff09\n  var difference = set1.difference(set2);\n  print('\u5dee\u96c6\u5408: $difference');  \/\/ {1, 2, 3}\n  \n  \/\/ \u90e8\u5206\u96c6\u5408\u304b\u3069\u3046\u304b\n  var subset = {1, 2};\n  print('\u90e8\u5206\u96c6\u5408?: ${subset.difference(set1).isEmpty}');  \/\/ true\n  \n  \/\/ List\u304b\u3089\u91cd\u8907\u3092\u524a\u9664\n  var listWithDuplicates = &#91;1, 2, 2, 3, 3, 3, 4, 5, 5];\n  var uniqueSet = listWithDuplicates.toSet();\n  print('\u91cd\u8907\u524a\u9664: $uniqueSet');  \/\/ {1, 2, 3, 4, 5}\n  \n  \/\/ Set\u3092List\u306b\u5909\u63db\n  var backToList = uniqueSet.toList();\n  print('List\u5316: $backToList');\n}\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Map\uff08\u30de\u30c3\u30d7\uff09<\/h2>\n\n\n\n<p>Map\u306f\u30ad\u30fc\u3068\u5024\u306e\u30da\u30a2\u3092\u683c\u7d0d\u3059\u308b\u30b3\u30ec\u30af\u30b7\u30e7\u30f3\u3067\u3059\u3002\u4ed6\u306e\u8a00\u8a9e\u3067\u306f\u8f9e\u66f8\uff08Dictionary\uff09\u3084\u30cf\u30c3\u30b7\u30e5\u30de\u30c3\u30d7\u3068\u547c\u3070\u308c\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Map\u306e\u57fa\u672c\u64cd\u4f5c<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>void main() {\n  \/\/ Map\u306e\u4f5c\u6210\n  Map&lt;String, int&gt; scores = {\n    '\u592a\u90ce': 85,\n    '\u82b1\u5b50': 92,\n    '\u6b21\u90ce': 78\n  };\n  \n  \/\/ \u578b\u63a8\u8ad6\n  var capitals = {\n    '\u65e5\u672c': '\u6771\u4eac',\n    '\u30a2\u30e1\u30ea\u30ab': '\u30ef\u30b7\u30f3\u30c8\u30f3D.C.',\n    '\u30d5\u30e9\u30f3\u30b9': '\u30d1\u30ea'\n  };\n  \n  \/\/ \u7a7a\u306eMap\n  Map&lt;String, String&gt; emptyMap = {};\n  var anotherEmpty = &lt;String, int&gt;{};\n  \n  \/\/ \u5024\u3078\u306e\u30a2\u30af\u30bb\u30b9\n  print('\u592a\u90ce\u306e\u70b9\u6570: ${scores&#91;'\u592a\u90ce']}');\n  print('\u65e5\u672c\u306e\u9996\u90fd: ${capitals&#91;'\u65e5\u672c']}');\n  \n  \/\/ \u5b58\u5728\u3057\u306a\u3044\u30ad\u30fc\u306fnull\u3092\u8fd4\u3059\n  print('\u4e09\u90ce\u306e\u70b9\u6570: ${scores&#91;'\u4e09\u90ce']}');  \/\/ null\n  \n  \/\/ \u30ad\u30fc\u306e\u5b58\u5728\u30c1\u30a7\u30c3\u30af\n  print('\u592a\u90ce\u304c\u5b58\u5728?: ${scores.containsKey('\u592a\u90ce')}');\n  print('\u502492\u304c\u5b58\u5728?: ${scores.containsValue(92)}');\n  \n  \/\/ \u8981\u7d20\u6570\n  print('\u8981\u7d20\u6570: ${scores.length}');\n  \n  \/\/ \u3059\u3079\u3066\u306e\u30ad\u30fc\n  print('\u30ad\u30fc: ${scores.keys}');\n  \n  \/\/ \u3059\u3079\u3066\u306e\u5024\n  print('\u5024: ${scores.values}');\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Map\u3078\u306e\u8981\u7d20\u306e\u8ffd\u52a0\u30fb\u66f4\u65b0\u30fb\u524a\u9664<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>void main() {\n  var scores = {'\u592a\u90ce': 85, '\u82b1\u5b50': 92};\n  \n  \/\/ \u8981\u7d20\u306e\u8ffd\u52a0\n  scores&#91;'\u6b21\u90ce'] = 78;\n  print(scores);\n  \n  \/\/ \u8981\u7d20\u306e\u66f4\u65b0\n  scores&#91;'\u592a\u90ce'] = 90;\n  print(scores);\n  \n  \/\/ \u8907\u6570\u8981\u7d20\u3092\u8ffd\u52a0\n  scores.addAll({\n    '\u56db\u90ce': 88,\n    '\u4e94\u90ce': 95\n  });\n  print(scores);\n  \n  \/\/ \u30ad\u30fc\u304c\u5b58\u5728\u3057\u306a\u3044\u5834\u5408\u306e\u307f\u8ffd\u52a0\n  scores.putIfAbsent('\u592a\u90ce', () =&gt; 100);  \/\/ \u65e2\u306b\u5b58\u5728\u3059\u308b\u306e\u3067\u8ffd\u52a0\u3055\u308c\u306a\u3044\n  scores.putIfAbsent('\u516d\u90ce', () =&gt; 80);   \/\/ \u8ffd\u52a0\u3055\u308c\u308b\n  print(scores);\n  \n  \/\/ \u8981\u7d20\u306e\u524a\u9664\n  scores.remove('\u6b21\u90ce');\n  print(scores);\n  \n  \/\/ \u6761\u4ef6\u306b\u5408\u3046\u8981\u7d20\u3092\u524a\u9664\n  scores.removeWhere((key, value) =&gt; value &lt; 85);\n  print(scores);\n  \n  \/\/ \u3059\u3079\u3066\u524a\u9664\n  scores.clear();\n  print('\u30af\u30ea\u30a2\u5f8c: $scores');\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Map\u306e\u64cd\u4f5c<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>void main() {\n  var scores = {\n    '\u592a\u90ce': 85,\n    '\u82b1\u5b50': 92,\n    '\u6b21\u90ce': 78,\n    '\u56db\u90ce': 95\n  };\n  \n  \/\/ \u3059\u3079\u3066\u306e\u30a8\u30f3\u30c8\u30ea\u3092\u51e6\u7406\n  scores.forEach((name, score) {\n    print('$name: $score\u70b9');\n  });\n  \n  \/\/ \u30ad\u30fc\u3067\u30bd\u30fc\u30c8\n  var sortedKeys = scores.keys.toList()..sort();\n  print('\\n\u30ad\u30fc\u3067\u30bd\u30fc\u30c8:');\n  for (var key in sortedKeys) {\n    print('$key: ${scores&#91;key]}');\n  }\n  \n  \/\/ \u5024\u3067\u30bd\u30fc\u30c8\n  var sortedEntries = scores.entries.toList()\n    ..sort((a, b) =&gt; b.value.compareTo(a.value));\n  print('\\n\u5024\u3067\u30bd\u30fc\u30c8\uff08\u964d\u9806\uff09:');\n  for (var entry in sortedEntries) {\n    print('${entry.key}: ${entry.value}');\n  }\n  \n  \/\/ \u30c7\u30d5\u30a9\u30eb\u30c8\u5024\u3092\u4f7f\u3063\u305f\u30a2\u30af\u30bb\u30b9\n  print('\\n\u4e94\u90ce\u306e\u70b9\u6570: ${scores&#91;'\u4e94\u90ce'] ?? 0}');  \/\/ \u5b58\u5728\u3057\u306a\u3044\u306e\u30670\n  \n  \/\/ Map\u306e\u5909\u63db\n  var doubled = scores.map((key, value) =&gt; MapEntry(key, value * 2));\n  print('\\n2\u500d: $doubled');\n}\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\u30b3\u30ec\u30af\u30b7\u30e7\u30f3\u64cd\u4f5c\u3068\u30e1\u30bd\u30c3\u30c9<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\u95a2\u6570\u578b\u30e1\u30bd\u30c3\u30c9<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>void main() {\n  var numbers = &#91;1, 2, 3, 4, 5, 6, 7, 8, 9, 10];\n  \n  \/\/ map - \u5404\u8981\u7d20\u3092\u5909\u63db\n  var squared = numbers.map((n) =&gt; n * n).toList();\n  print('2\u4e57: $squared');\n  \n  \/\/ where - \u6761\u4ef6\u306b\u5408\u3046\u8981\u7d20\u3092\u30d5\u30a3\u30eb\u30bf\u30ea\u30f3\u30b0\n  var evens = numbers.where((n) =&gt; n % 2 == 0).toList();\n  print('\u5076\u6570: $evens');\n  \n  \/\/ firstWhere - \u6761\u4ef6\u306b\u5408\u3046\u6700\u521d\u306e\u8981\u7d20\n  var firstEven = numbers.firstWhere((n) =&gt; n % 2 == 0);\n  print('\u6700\u521d\u306e\u5076\u6570: $firstEven');\n  \n  \/\/ firstWhere\uff08\u898b\u3064\u304b\u3089\u306a\u3044\u5834\u5408\u306e\u30c7\u30d5\u30a9\u30eb\u30c8\u5024\uff09\n  var bigNumber = numbers.firstWhere(\n    (n) =&gt; n &gt; 100,\n    orElse: () =&gt; -1\n  );\n  print('100\u3088\u308a\u5927\u304d\u3044\u6570: $bigNumber');  \/\/ -1\n  \n  \/\/ lastWhere - \u6761\u4ef6\u306b\u5408\u3046\u6700\u5f8c\u306e\u8981\u7d20\n  var lastEven = numbers.lastWhere((n) =&gt; n % 2 == 0);\n  print('\u6700\u5f8c\u306e\u5076\u6570: $lastEven');\n  \n  \/\/ any - \u6761\u4ef6\u306b\u5408\u3046\u8981\u7d20\u304c1\u3064\u3067\u3082\u3042\u308b\u304b\n  var hasEven = numbers.any((n) =&gt; n % 2 == 0);\n  print('\u5076\u6570\u304c\u542b\u307e\u308c\u308b?: $hasEven');\n  \n  \/\/ every - \u3059\u3079\u3066\u306e\u8981\u7d20\u304c\u6761\u4ef6\u306b\u5408\u3046\u304b\n  var allPositive = numbers.every((n) =&gt; n &gt; 0);\n  print('\u3059\u3079\u3066\u6b63\u6570?: $allPositive');\n  \n  \/\/ skip - \u6700\u521d\u306eN\u500b\u3092\u30b9\u30ad\u30c3\u30d7\n  var skipped = numbers.skip(3).toList();\n  print('\u6700\u521d\u306e3\u500b\u3092\u30b9\u30ad\u30c3\u30d7: $skipped');\n  \n  \/\/ take - \u6700\u521d\u306eN\u500b\u3092\u53d6\u5f97\n  var taken = numbers.take(5).toList();\n  print('\u6700\u521d\u306e5\u500b: $taken');\n  \n  \/\/ reduce - \u7d2f\u7a4d\u51e6\u7406\n  var sum = numbers.reduce((a, b) =&gt; a + b);\n  print('\u5408\u8a08: $sum');\n  \n  \/\/ fold - \u521d\u671f\u5024\u3092\u6307\u5b9a\u3057\u305f\u7d2f\u7a4d\u51e6\u7406\n  var product = numbers.fold(1, (prev, element) =&gt; prev * element);\n  print('\u7a4d: $product');\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u3088\u308a\u9ad8\u5ea6\u306a\u64cd\u4f5c<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>void main() {\n  var students = &#91;\n    {'name': '\u592a\u90ce', 'score': 85},\n    {'name': '\u82b1\u5b50', 'score': 92},\n    {'name': '\u6b21\u90ce', 'score': 78},\n    {'name': '\u56db\u90ce', 'score': 95},\n    {'name': '\u4e94\u90ce', 'score': 88}\n  ];\n  \n  \/\/ \u6761\u4ef6\u306b\u5408\u3046\u8981\u7d20\u306e\u6570\n  var highScorers = students.where((s) =&gt; s&#91;'score']! as int &gt; 85).length;\n  print('85\u70b9\u4ee5\u4e0a\u306e\u4eba\u6570: $highScorers');\n  \n  \/\/ \u6700\u5927\u5024\n  var maxScore = students.map((s) =&gt; s&#91;'score'] as int).reduce((a, b) =&gt; a &gt; b ? a : b);\n  print('\u6700\u9ad8\u70b9: $maxScore');\n  \n  \/\/ \u5e73\u5747\u5024\n  var total = students.fold(0, (sum, s) =&gt; sum + (s&#91;'score'] as int));\n  var average = total \/ students.length;\n  print('\u5e73\u5747\u70b9: ${average.toStringAsFixed(1)}');\n  \n  \/\/ \u30b0\u30eb\u30fc\u30d7\u5316\uff08\u624b\u52d5\u5b9f\u88c5\uff09\n  var grouped = &lt;String, List&lt;Map&lt;String, Object&gt;&gt;&gt;{};\n  for (var student in students) {\n    var score = student&#91;'score'] as int;\n    var grade = score &gt;= 90 ? 'A' : score &gt;= 80 ? 'B' : 'C';\n    grouped.putIfAbsent(grade, () =&gt; &#91;]).add(student);\n  }\n  print('\\n\u6210\u7e3e\u5225\u30b0\u30eb\u30fc\u30d7:');\n  grouped.forEach((grade, studentList) {\n    print('$grade: ${studentList.map((s) =&gt; s&#91;'name']).join(', ')}');\n  });\n  \n  \/\/ \u8907\u6570\u306e\u64cd\u4f5c\u3092\u9023\u9396\n  var topThreeNames = students\n      .where((s) =&gt; s&#91;'score']! as int &gt;= 85)\n      .map((s) =&gt; s&#91;'name'] as String)\n      .take(3)\n      .toList();\n  print('\\n\u4e0a\u4f4d3\u540d: $topThreeNames');\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u30b3\u30ec\u30af\u30b7\u30e7\u30f3\u306e\u30b3\u30d4\u30fc<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>void main() {\n  var original = &#91;1, 2, 3];\n  \n  \/\/ \u6d45\u3044\u30b3\u30d4\u30fc\n  var shallowCopy = &#91;...original];\n  shallowCopy&#91;0] = 999;\n  print('\u5143\u306e\u30ea\u30b9\u30c8: $original');       \/\/ &#91;1, 2, 3]\n  print('\u30b3\u30d4\u30fc: $shallowCopy');        \/\/ &#91;999, 2, 3]\n  \n  \/\/ \u30cd\u30b9\u30c8\u3055\u308c\u305f\u30ea\u30b9\u30c8\u306e\u5834\u5408\n  var nested = &#91;&#91;1, 2], &#91;3, 4]];\n  var nestedCopy = &#91;...nested];\n  nestedCopy&#91;0]&#91;0] = 999;  \/\/ \u5185\u5074\u306e\u30ea\u30b9\u30c8\u306f\u5171\u6709\u3055\u308c\u308b\n  print('\u5143\u306e\u30cd\u30b9\u30c8\u30ea\u30b9\u30c8: $nested');   \/\/ &#91;&#91;999, 2], &#91;3, 4]]\n  print('\u30b3\u30d4\u30fc: $nestedCopy');          \/\/ &#91;&#91;999, 2], &#91;3, 4]]\n  \n  \/\/ \u6df1\u3044\u30b3\u30d4\u30fc\uff08\u624b\u52d5\uff09\n  var deepCopy = nested.map((list) =&gt; &#91;...list]).toList();\n  deepCopy&#91;0]&#91;0] = 111;\n  print('\u5143\u306e\u30cd\u30b9\u30c8\u30ea\u30b9\u30c8: $nested');   \/\/ &#91;&#91;999, 2], &#91;3, 4]]\n  print('\u6df1\u3044\u30b3\u30d4\u30fc: $deepCopy');        \/\/ &#91;&#91;111, 2], &#91;3, 4]]\n}\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Spread\u6f14\u7b97\u5b50\u3068Collection if\/for<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Spread\u6f14\u7b97\u5b50\uff08&#8230;\uff09<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>void main() {\n  \/\/ \u30ea\u30b9\u30c8\u306e\u5c55\u958b\n  var list1 = &#91;1, 2, 3];\n  var list2 = &#91;4, 5, 6];\n  var combined = &#91;...list1, ...list2];\n  print('\u7d50\u5408: $combined');  \/\/ &#91;1, 2, 3, 4, 5, 6]\n  \n  \/\/ \u9014\u4e2d\u306b\u8981\u7d20\u3092\u631f\u3080\n  var mixed = &#91;...list1, 99, ...list2];\n  print('\u6df7\u5408: $mixed');  \/\/ &#91;1, 2, 3, 99, 4, 5, 6]\n  \n  \/\/ null\u30bb\u30fc\u30d5\u306aSpread\u6f14\u7b97\u5b50\uff08...?\uff09\n  List&lt;int&gt;? nullableList;\n  var safe = &#91;1, 2, ...?nullableList, 3];\n  print('null\u30bb\u30fc\u30d5: $safe');  \/\/ &#91;1, 2, 3]\n  \n  nullableList = &#91;10, 20];\n  safe = &#91;1, 2, ...?nullableList, 3];\n  print('null\u30bb\u30fc\u30d5: $safe');  \/\/ &#91;1, 2, 10, 20, 3]\n  \n  \/\/ Set\u3067\u306e\u4f7f\u7528\n  var set1 = {1, 2, 3};\n  var set2 = {3, 4, 5};\n  var combinedSet = {...set1, ...set2};\n  print('Set\u7d50\u5408: $combinedSet');  \/\/ {1, 2, 3, 4, 5}\n  \n  \/\/ Map\u3067\u306e\u4f7f\u7528\n  var map1 = {'a': 1, 'b': 2};\n  var map2 = {'c': 3, 'd': 4};\n  var combinedMap = {...map1, ...map2};\n  print('Map\u7d50\u5408: $combinedMap');\n  \n  \/\/ \u5024\u306e\u4e0a\u66f8\u304d\n  var overwritten = {...map1, 'b': 99, ...map2};\n  print('\u4e0a\u66f8\u304d: $overwritten');  \/\/ {a: 1, b: 99, c: 3, d: 4}\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Collection if<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>void main() {\n  bool includeZero = true;\n  var numbers = &#91;\n    if (includeZero) 0,\n    1,\n    2,\n    3\n  ];\n  print('0\u3092\u542b\u3080: $numbers');\n  \n  includeZero = false;\n  numbers = &#91;\n    if (includeZero) 0,\n    1,\n    2,\n    3\n  ];\n  print('0\u3092\u542b\u307e\u306a\u3044: $numbers');\n  \n  \/\/ if-else\n  bool isEven = true;\n  var list = &#91;\n    1,\n    if (isEven) 2 else 3,\n    4\n  ];\n  print('\u6761\u4ef6\u5206\u5c90: $list');\n  \n  \/\/ \u8907\u6570\u8981\u7d20\u306e\u6761\u4ef6\u4ed8\u304d\u8ffd\u52a0\n  bool includeExtras = true;\n  var items = &#91;\n    '\u308a\u3093\u3054',\n    '\u30d0\u30ca\u30ca',\n    if (includeExtras) ...&#91;\n      '\u30aa\u30ec\u30f3\u30b8',\n      '\u3076\u3069\u3046',\n      '\u3044\u3061\u3054'\n    ]\n  ];\n  print('\u30a2\u30a4\u30c6\u30e0: $items');\n  \n  \/\/ Set\u3067\u306e\u4f7f\u7528\n  var roles = {\n    'user',\n    if (true) 'admin',\n    if (false) 'superadmin'\n  };\n  print('\u5f79\u5272: $roles');\n  \n  \/\/ Map\u3067\u306e\u4f7f\u7528\n  var config = {\n    'name': 'MyApp',\n    'version': '1.0',\n    if (true) 'debug': true,\n    if (false) 'test': true\n  };\n  print('\u8a2d\u5b9a: $config');\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Collection for<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>void main() {\n  \/\/ \u57fa\u672c\u7684\u306a\u4f7f\u7528\n  var numbers = &#91;\n    for (var i = 1; i &lt;= 5; i++) i\n  ];\n  print('1-5: $numbers');\n  \n  \/\/ \u5909\u63db\u3057\u306a\u304c\u3089\u751f\u6210\n  var squared = &#91;\n    for (var i = 1; i &lt;= 5; i++) i * i\n  ];\n  print('2\u4e57: $squared');\n  \n  \/\/ \u65e2\u5b58\u306e\u30ea\u30b9\u30c8\u304b\u3089\u751f\u6210\n  var fruits = &#91;'\u308a\u3093\u3054', '\u30d0\u30ca\u30ca', '\u30aa\u30ec\u30f3\u30b8'];\n  var upperFruits = &#91;\n    for (var fruit in fruits) fruit.toUpperCase()\n  ];\n  print('\u5927\u6587\u5b57: $upperFruits');\n  \n  \/\/ \u6761\u4ef6\u4ed8\u304d\u3067\u751f\u6210\n  var evenNumbers = &#91;\n    for (var i = 1; i &lt;= 10; i++)\n      if (i % 2 == 0) i\n  ];\n  print('\u5076\u6570: $evenNumbers');\n  \n  \/\/ \u30cd\u30b9\u30c8\u3057\u305f\u30eb\u30fc\u30d7\n  var pairs = &#91;\n    for (var i = 1; i &lt;= 3; i++)\n      for (var j = 1; j &lt;= 3; j++)\n        '($i, $j)'\n  ];\n  print('\u30da\u30a2: $pairs');\n  \n  \/\/ Set\u3067\u306e\u4f7f\u7528\n  var uniqueSquares = {\n    for (var i = 1; i &lt;= 5; i++) i * i\n  };\n  print('\u91cd\u8907\u306a\u30572\u4e57: $uniqueSquares');\n  \n  \/\/ Map\u3067\u306e\u4f7f\u7528\n  var numberMap = {\n    for (var i = 1; i &lt;= 5; i++) i: i * i\n  };\n  print('\u6570\u5024\u30de\u30c3\u30d7: $numberMap');\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Collection if\/for\u306e\u7d44\u307f\u5408\u308f\u305b<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>void main() {\n  \/\/ \u8907\u96d1\u306a\u6761\u4ef6\u3067\u306e\u751f\u6210\n  var products = &#91;\n    {'name': '\u308a\u3093\u3054', 'price': 100},\n    {'name': '\u30d0\u30ca\u30ca', 'price': 150},\n    {'name': '\u30aa\u30ec\u30f3\u30b8', 'price': 200},\n  ];\n  \n  bool showExpensive = true;\n  int minPrice = 120;\n  \n  var displayList = &#91;\n    for (var product in products)\n      if (!showExpensive || product&#91;'price']! as int &gt;= minPrice)\n        '${product&#91;'name']}: ${product&#91;'price']}\u5186'\n  ];\n  print('\u8868\u793a\u30ea\u30b9\u30c8: $displayList');\n  \n  \/\/ \u30b0\u30ea\u30c3\u30c9\u306e\u751f\u6210\n  var grid = &#91;\n    for (var row = 0; row &lt; 3; row++)\n      &#91;\n        for (var col = 0; col &lt; 3; col++)\n          row * 3 + col\n      ]\n  ];\n  print('\u30b0\u30ea\u30c3\u30c9:');\n  for (var row in grid) {\n    print(row);\n  }\n  \n  \/\/ \u8907\u96d1\u306aMap\u751f\u6210\n  var students = &#91;'\u592a\u90ce', '\u82b1\u5b50', '\u6b21\u90ce'];\n  var initialScores = {\n    for (var i = 0; i &lt; students.length; i++)\n      students&#91;i]: i * 10 + 70\n  };\n  print('\u521d\u671f\u30b9\u30b3\u30a2: $initialScores');\n  \n  \/\/ \u6761\u4ef6\u4ed8\u304dMap\u751f\u6210\n  var config = {\n    'appName': 'MyApp',\n    for (var env in &#91;'dev', 'prod'])\n      if (env == 'dev')\n        'debug': true\n      else\n        'optimize': true\n  };\n  print('\u8a2d\u5b9a: $config');\n}\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u5b9f\u8df5\u7684\u306a\u4f8b<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>void main() {\n  \/\/ \u30e6\u30fc\u30b6\u30fc\u30ea\u30b9\u30c8\u306e\u751f\u6210\n  var userIds = &#91;1, 2, 3, 4, 5];\n  var includeAdmin = true;\n  \n  var users = &#91;\n    if (includeAdmin) {'id': 0, 'name': 'Admin', 'role': 'admin'},\n    for (var id in userIds)\n      if (id % 2 == 1)\n        {'id': id, 'name': 'User$id', 'role': 'user'}\n  ];\n  \n  print('\u30e6\u30fc\u30b6\u30fc\u4e00\u89a7:');\n  for (var user in users) {\n    print('  ${user&#91;'name']} (${user&#91;'role']})');\n  }\n  \n  \/\/ \u52d5\u7684\u306a\u30e1\u30cb\u30e5\u30fc\u751f\u6210\n  bool isLoggedIn = true;\n  bool isAdmin = false;\n  \n  var menuItems = &#91;\n    '\u30db\u30fc\u30e0',\n    if (isLoggedIn) ...&#91;\n      '\u30de\u30a4\u30da\u30fc\u30b8',\n      '\u8a2d\u5b9a',\n      if (isAdmin) '\u7ba1\u7406\u753b\u9762'\n    ] else ...&#91;\n      '\u30ed\u30b0\u30a4\u30f3',\n      '\u65b0\u898f\u767b\u9332'\n    ]\n  ];\n  \n  print('\\n\u30e1\u30cb\u30e5\u30fc:');\n  for (var item in menuItems) {\n    print('  - $item');\n  }\n  \n  \/\/ \u30c7\u30fc\u30bf\u306e\u6574\u5f62\n  var rawData = &#91;\n    &#91;1, 2, 3],\n    null,\n    &#91;4, 5, 6],\n    &#91;],\n    &#91;7, 8, 9]\n  ];\n  \n  var cleanedData = &#91;\n    for (var item in rawData)\n      if (item != null &amp;&amp; item.isNotEmpty)\n        ...item\n  ];\n  \n  print('\\n\u6574\u5f62\u5f8c\u30c7\u30fc\u30bf: $cleanedData');\n}\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>\u3053\u308c\u3067\u7b2c3\u7ae0\u300c\u30b3\u30ec\u30af\u30b7\u30e7\u30f3\u300d\u306e\u89e3\u8aac\u306f\u5b8c\u4e86\u3067\u3059\u3002List\u3001Set\u3001Map\u306e\u57fa\u672c\u64cd\u4f5c\u304b\u3089\u3001\u9ad8\u5ea6\u306a\u95a2\u6570\u578b\u30e1\u30bd\u30c3\u30c9\u3001\u305d\u3057\u3066Spread\u6f14\u7b97\u5b50\u3084Collection if\/for\u3068\u3044\u3063\u305f\u73fe\u4ee3\u7684\u306a\u6a5f\u80fd\u307e\u3067\u5b66\u3073\u307e\u3057\u305f\u3002\u3053\u308c\u3089\u306e\u30b3\u30ec\u30af\u30b7\u30e7\u30f3\u64cd\u4f5c\u3092\u4f7f\u3044\u3053\u306a\u3059\u3053\u3068\u3067\u3001\u3088\u308a\u52b9\u7387\u7684\u3067\u8aad\u307f\u3084\u3059\u3044\u30b3\u30fc\u30c9\u304c\u66f8\u3051\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002\u6b21\u306e\u7ae0\u3067\u306f\u3001Dart\u306e\u30af\u30e9\u30b9\u3068\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u6307\u5411\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u306b\u3064\u3044\u3066\u5b66\u3093\u3067\u3044\u304d\u307e\u3057\u3087\u3046\uff01<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>List\uff08\u30ea\u30b9\u30c8\uff09 List\u306f\u9806\u5e8f\u4ed8\u3051\u3089\u308c\u305f\u8981\u7d20\u306e\u96c6\u5408\u3067\u3059\u3002\u540c\u3058\u8981\u7d20\u3092\u8907\u6570\u56de\u542b\u3080\u3053\u3068\u304c\u3067\u304d\u3001\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3067\u30a2\u30af\u30bb\u30b9\u3067\u304d\u307e\u3059\u3002 List\u306e\u57fa\u672c\u64cd\u4f5c List\u3078\u306e\u8981\u7d20\u306e\u8ffd\u52a0\u30fb\u524a\u9664 List\u306e\u64cd\u4f5c \u56fa\u5b9a\u9577List\u3068\u6210\u9577\u53ef\u80fd\u306aL [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"saved_in_kubio":false,"footnotes":""},"categories":[70,67,4],"tags":[],"class_list":["post-3178","post","type-post","status-publish","format-standard","hentry","category-dart-flutter","category-flutter","category-tech"],"_links":{"self":[{"href":"https:\/\/www.blowfish.co.jp\/index.php?rest_route=\/wp\/v2\/posts\/3178","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.blowfish.co.jp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.blowfish.co.jp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.blowfish.co.jp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.blowfish.co.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3178"}],"version-history":[{"count":1,"href":"https:\/\/www.blowfish.co.jp\/index.php?rest_route=\/wp\/v2\/posts\/3178\/revisions"}],"predecessor-version":[{"id":3179,"href":"https:\/\/www.blowfish.co.jp\/index.php?rest_route=\/wp\/v2\/posts\/3178\/revisions\/3179"}],"wp:attachment":[{"href":"https:\/\/www.blowfish.co.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3178"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.blowfish.co.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3178"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.blowfish.co.jp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3178"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}