Java(オブジェクト指向プログラミング)

今日は、オブジェクト指向プログラミングがらみでjava utilパッケージに含まれるクラス?インターフェース?を利用しての色々の発展系を勉強した日だった。寝坊した。
正直いって、情報量が多くてサッパリついてゆけてない。
ついてゆけてないので、ついてゆけてないなりに頭を整理するために日記にも書くことにした。
・Listの利用
配列と似たようなものだけど、配列は要素数が固定されてるのに対して、Listは要素数が限定されない。
for文や拡張for文で要素を処理できる。
・setの利用
要素の集合をあらわすインターフェース。要素を追加した順番は保持されない。同じ要素は複数追加できない。
・Mapの利用
キーと値(Key,Value)の組み(マッピング)を保持するインターフェース。特定の項目名と要素をセットにして維持するとかそんな感じ。これも、同一キーは複数追加できない、要素の追加順は特に保持されない(でもコンソールに出力したときの順番は毎回変わる訳じゃなくて、あの並び順はどういう基準で並び替えてるのだろう?)
・StringBuilderの利用
単純なStringと違って、これで書かれた文字列では位置を指定したりして追加したり削除したり置き換えたりを操作して変更することができる。
固定文字列でないので、文字列を変更するときのメモリの消耗が少ないらしい?
・日付と時刻
Dateクラス、Calendarクラス、SE8から加わったDate and Time APIというのの使い方を勉強したけどぼんやりしてしまった。
サマータイムの話があって、サマータイムウィキペディアを眺めて終わってしまった。、、、今日は豚肉と筍とブロッコリの中華風炒めと桃にしようとか考えてた。でも寝なかった。

インターフェースっていうのがそもそもよく掴めない。なんなんだ?
なにか作りたいものをイメージして勉強すると、もうちょい身を入れて勉強できるだろうか。
こういう概念はひたすら写経して書いて覚えるしかなさそう。