BLOG

【プログラマー研修 Java研修】タコの記録3

こんにちは!タコです!

最近、コロナで外出を控えてる方も多いのではないでしょうか…

一番何が怖いって、自分がかかることよりも、自分から家族や他の人に感染することですよね。

ホント、気をつけたいです!

そういえば先日、姉が僕にマスクを手作りしてくれたんですよ。

なかなかのクオリティでちょっとビビってます(笑)

手作りって、いいですよね。すごく。

誕生日プレゼントとか手作りでくれちゃったらめっちゃうれしいです。

あ、ちなみに僕の誕生日は5月6日なんで、よろしくお願いしますね(?)

 

話がコロコロと転がっておりますが、研修の続きをやっていきませう。

 

 

Java コレクション

本日は、コレクションの単元でございます!

しっかりじっくり復習していきますぞ!

 

 

コレクションってなんぞ。

 

• List、Set、Mapインターフェイスの総称

ListではArrayListクラス

SetではHashSetクラス

MapではHashMapクラス

がよく使われます!この三つのクラスの使い方を学びます!

 

• 配列と違い、要素数の上限がない(可変長)

配列だと要素数を一度決めたら変えられません。

↓要素数5の配列

 

ですが、コレクションならいくらでも要素を格納できます

詳しくはあとで….

• 参照型のみ使える

参照型とは

値そのものを保持するのではなく、値が置いてある場所を保持する型です。

配列の array[0] とか、場所を示してる。これが参照型です!

じつはStringもStringクラスのなかでchar配列を参照して文字列にしてます。だからStringは参照型変数なんです。

 

 

ArrayList

Listインターフェースを実装してます。
配列の上位互換的イメージが強いArrayList君です。

ArrayListの書き方

これで宣言できます。

 

便利なメソッドたち

コレクションにはたくさんの便利なメソッドがあるんです

 

add(要素)

要素をリストの末尾に追加します!

戻り値にboolean型が設定されていて、 追加できたらtrue、できなかったらfalseって具合。

add(添字,要素)

ArrayListも配列の同様、リストの指定した場所に要素を追加できます!

 

get(添字);

指定した場所の要素を取り出します。

 

size();

配列でいう.lengthみたいな。要素数をint型で返します。

HashSet

Setインターフェースを実装してます。
添字が無く、個性を重要視するHashSet君です。

HashSet書き方

ArrayListとおんなじね

 

便利かもしれないメソッドたち

add(要素);

要素を追加します!HashListはArrayListと違って添字がないです!

だから順番とか気にせずポンポンリストの中に入れていきます!

でも同じ要素があるかってことだけは気になるので、同じ要素をaddしちゃったときは、追加されずにfalseが返されるます!

 

clear();

リスト内の要素をすべて削除します!

 

remove(要素);

同じ要素を絶対に含まないHashSetだから、引数で要素を指定して削除できます!

size();

ArrayListと同じで要素数をintにして返します!

 

HashSetから取得するには?

HashSetには添字がないのでgetやsetで要素を指定できません!

じゃあどうすれば…

拡張for文でしか要素を取得できません!

こんな感じです。
正直、使いどころが分からn

HashMap

Mapインターフェースを実装してます。
HashMap君ですが、添字はありません。したがって彼もまた、個性を重要視するタイプです。

HashMapの書き方

「要素をキー別に入れられるようになっている」そんなイメージですね!

便利であろうメソッドたち

put(キー,要素);

指定したキーで要素を追加します!

同じキーがあれば上書きして、前にあった値をかえします!

get(キー);

指定したキーの要素を取得します。

clear();

要素をすべて削除します。

remove(キー);

指定したキーの要素を削除し、削除した要素を返します!

size();

要素数確認。

 

keySet();

キーの一覧を取得できます!

要素にArrayList

HashMapの要素にArrayListをいれれば

キー別のリストを作ることができますね!!

なんかこう、いろいろなことに使えそうな予感です…..

アーティスト名のキーに曲名リストとか!

そんなこと考えてたらなんかワクワクしますねぇ!

 

 

まとめです!

最後までよんでいただきありがとうございます!

まとめです!

・ArrayListは可変長な配列

・HashSetは可変長で重複せず、添字が無い

・HashMapはキーを指定して要素を格納。添字、重複が無い

 

コロナに負けず、元気にがんばっていきましょーー!!

それじゃ、また!!

BLOGトップへ戻る