#初めまして
保坂万里です
###初投稿です
いろいろ拙い部分あると思いますがよろしくお願いします。
あとJava駆け出し中のぺーぺーなので
レベル感としてはかなり低め設定です、ご容赦。
##早速ですが・・・
環境としては
・Windows10
・Eclipseプレアデス
##配列はお好きですか?
僕はまだそんなに好きじゃないです、まだ
##なぜハマってしまったか背景
配列をFor文で回数指定してループ処理
こんなコードを書きなさい。
んー、それなら配列自体をそもそも変数で管理できれば
見た目よくならないか?
インデックス番号で呼び出せて
結果記述量も減らせるんじゃないか?
って考えてしまったのがいけなかった、沼の扉が開く
##お待たせいたしました
さあぁて沼の紹介です、今回は配列を、配列に、ぶち込みます。
イメージできますか?僕はできません。
今回表記するのは簡略化と可読性の観点から
静的配列[ ]を使用します。
でも配列は全て多次元化できるので
動的配列のArrayListや
連想配列のHashMapでも記述可能です。
##沼のサンプルコード
//1.まずは配列を生成していきます
String[] a = { "1", "yosiko", "kanagawa", "woman", "26" };
String[] b = { "2", "kenji", "kobe", "man", "23" };
String[] c = { "3", "vanri", "osaka", "man", "19" };
//その後、新しく配列を格納できる変数を宣言します
String[][] Lists = {a ,b ,c };
//...ん?んんむ?
その気持ちよくわかります
<本当ですか?
・そもそもイメージが湧かない
・メリットを感じない
よく変数の例えで
段ボール箱とみかんを使いますよね
<そうですね!
箱に入れておけばミカンを取り出しやすいですよね
でも箱の中にミカン以外のものが
ごっちゃり果物入ってたら
分かりずらいですよね?
、、は!
それなら果物ごとに箱に分けて入れて
大きい箱にまとめて入れてあげれば
どれに何が入ってるか把握しやすいぞ!
//ダンボール箱1にミカン2つ入れます
//ダンボール箱2にリンゴを2つ入れます
String[] cardboardBox1 = {"mikan1", "mikan2"};
String[] cardboardBox2 = {"ringo1", "ringo2"};
/*
で、ダンボール箱をまとめる大きなダンボール箱を
用意してまとめてあげる
*/
String[][] bigCardboardBox = {cardboardBox1, cardboardBox2};
//変数宣言時の[]の数に注意
System.out.println(bigCardboardBox[0][0]);
// ="mikan1"が表示される
System.out.println(bigCardboardBox[1][1]);
// ="ringo2"が表示される
閉まったみかん一個食べたいなって思ったときまず開けるのは
大きい➀ダンボール箱(bigCardboardBox)
。
その後開けた中身を見ると今回は
もう一個➁ダンボール箱(cardboardBox)
がありますね。
やっとみかんが見えました。
(... .println(bigCardboardBox[X][Y]);)
(二次元配列の変数[行][列]の引数を指定します)
この流れ一つ一つの動作が
プログラミングで実行されている
というのをつかんでいただければ
幸いです。
図解があるとわかりやすいなと思ったので
リンクも載せます!
【Java】2次元配列とは?
http://ysklog.net/java/5-18.html
##最後に
やり切った感あるけど見返すと
脈絡も起承転結もなく
お粗末な感じになりましたが書いてて
頭の中を整理できた気がしますので
やってよかったです。