質問: t; } sum.get(c) } System.out.println(c) ``` ### 試したこと 有限な配列の場合なら理解できる
回答: ``` int c =-100;//このコードの果たす役割がわからない ``` このcですが、cはまさに「最大値をとるときの配列番号」です。なぜ-100を初期値にいれるかというと、別に-100という数字に意味はないんです。0でも-100でも、このコードで考えれば正しく動作します。しかしなぜ0ではいけないのか。それは「配列を調べた結果、0番目が最大」なのか、「配列が1つもデータが入っておらず、一度も処理されずに0のままなのか」の区別がつかないからです。配列番号は絶対にマイナスにはなりえません。0から始まり配列の長さ-1までの範囲を取ります。だから初期値にマイナスを入れておくことで、区別をつけることができるようになります。