‫お帰りなさい｡
‫このビデオでは､ レッドリストとその少なくとも一部を取り上げる予定です｡
‫そして､ 先にArrayListを作成してみましょう｡
‫そこで､ ここで新しい配列リストを作成し､ 宣言します｡
‫だから､ 配列リストを宣言すること｡
‫そしてご覧の通り､ 配列リストを知らないので文句を言っているのです｡
‫そして､ 配列リストクラスは､ ご覧のようにコレクションクラスの中にあり､ リストインターフェイスなどを実装しているので､
‫システムドットコレクションを使用する必要があるのです｡
‫これで名前をつけて､ 私の配列リストを新しい配列リストと呼ぶことにします｡
‫これは配列リストを宣言する方法のひとつで､ もうひとつの方法は､ そこにいくつのオブジェクトを入れるべきかをすでに宣言しておくことです｡
‫この場合､ 私の配列リストには100個のオブジェクトが含まれているはずです｡
‫こちらの方は不定形に定義された量のオブジェクトを持ち､ あちらの方は定義された量のオブジェクトを持つ｡
‫定義済みで｡
‫では､ 次に配列のリストにオブジェクトや要素を追加してみましょう｡
‫だから､ 私の配列リスト､ ドット追加｡
‫ご覧のように､ 私の配列リストには､ 複数の異なるメソッド､ プロパティ､ 拡張メソッドがあります｡
‫また､ 「Clear」は配列のリストをすべて消去します｡
‫それなら､ 入っていますよね｡
‫その中に検索しているものがあるかどうかなどをチェックします｡
‫そのため､ 興味深いメソッドがたくさんあり､ そのいくつかを取り上げる予定です｡
‫そこで､ 一言付け加えます｡
‫そして､ ご覧の通り､ オブジェクトを追加することができます｡
‫そして､ それが配列リストの良さでもあるのです｡
‫文字列だけ､ あるいは文字列だけ､ あるいは文字列以外のものを含む必要はなく､ オブジェクトを含むことができます｡
‫ですから､ どんな種類のものでも､ ここで使うことができるのです｡
‫つまり､ 25という整数を格納したり､ Helloという文字列を格納したり､
‫2倍を格納したりすることができるのです｡
‫だから13｡ 37などです｡
‫13の配列リストにADDと128､ そして念のためもうひとつ25という値を追加します｡
‫3.
‫しかも､ それはコンマではない｡
‫それは一理ありますね｡
‫わかりました｡
‫そこで､ 配列のリストにいくつかのメソッドを追加することができます｡
‫例えば､ removeメソッドを使うことができますね｡
‫そしてここで､ 何を削除したいのかを定義する必要があります｡
‫つまり､ 単にインデックスを削除するだけでなく､ どのオブジェクトを削除したいかを言っているのです｡
‫では､ 13を取り除きたいので､ remove 13を使うとします｡
‫配列リストから特定のエントリを持つ要素､ あるいは特定の値を持つ要素を削除します｡
‫その方がいいのかもしれません｡
‫だから､ そこから13を削除することになる｡
‫例えば､ 13の2倍があるとします｡ そうすると､ 13がリストから削除されます｡
‫次に､ 特定のインデックスを指定して削除する方法ですが､ これは特定の位置またはインデックスで要素を削除します｡
‫そして､ それを実現するのが､ remove ET方式です｡
‫そして､ 削除範囲があることがおわかりいただけると思います｡
‫だから､ 単純に､ よし､ そこから2つの値を削除したい､ と言えばいいのです｡
‫では､ 0からとしましょう｡ 4.
‫そこで､ この中の1つ､ 2つの値を削除したいのです｡
‫だから128と25を削除することになる｡ 3.
‫でも､ remove ADDを使って､ ポジションゼロのものを削除するだけです｡
‫だから､ ここでこれを削除したりするはずです｡
‫25と今はカウントというものがあるんですね｡
‫したがって､ 配列リストの中にあるオブジェクトの数を知りたい場合は､ count キーワードを使用します｡
‫さて､ 私がやりたいことは､ それをコンソールに書き出すことです｡
‫だから､ コンソールカウントを書く｡
‫さて､ それではとても興味深い話をしましょう｡
‫配列のリストにあるすべてのオブジェクトをチェックする for each ループを作成しましょう｡
‫そして､ 配列リストの中でobjectやobjectと呼ぶことにしています｡
‫そして､ 配列リストの中にあるオブジェクトをひとつひとつ調べていき､ その繰り返しの中でオブジェクトになるのです｡
‫そこで､ オブジェクトがint型であるかどうかをチェックし､ コーディングを行うことができます｡
‫そこで､ すべての数字を足し算したいとします｡ もちろん､ ここに文字列を入れたくはないので､
‫新たにダブルの結果を作成します｡
‫あるいは､ いくつか､ と言った方が正確かもしれません｡
‫これが和になる｡
‫そして､ 配列リストの中にある整数と二重の値を合計する必要があります｡
‫しかし､ 今は単純に整数をdoubleに足すことができるので､ 変換する必要があります｡
‫だから､ それをダブルに変換するために使うんだ｡
‫ここで､ オブジェクトと言うのは､ オブジェクトがオブジェクトであるように､ オブジェクトがオブジェクトであるということです｡
‫整数ではありません｡
‫整数を含むが､ 型はobjectである｡
‫だから､ doubleにキャストして､ 単純に足せばいいんです｡
‫しかし､ doubleでない場合はdoubleに変換する必要があるんです｡
‫だから､ 整数ならdoubleに変換できるんだ｡
‫だから､ 確認しているんです｡
‫整数ですか？
‫ええ､ そうです｡
‫よし､ ではこれをdoubleに変換してsumに加えよう｡
‫そしてここでも､ Jがダブルの場合｡
‫ということであれば､ 単純にいくつかのプラスイコールを使えばいいわけです｡
‫そしてここでは､ OBJと言うだけではダメなのです｡
‫見ての通り､ これがdoubleではなくobjectであることに関係するオブジェクトを単純に追加することができます｡
‫また､ 先ほど言ったように､ ダブルにオブジェクトを単純に追加することはできません｡
‫そこで､ ここで必要なのはキャスティングを使うことです｡
‫ここでは､ このオブジェクトをdoubleにキャストすることを述べています｡
‫それができたら､ その分も足して､ やっと他のにします｡
‫また､ Jが文字列かどうかももちろん確認できます｡
‫ということであれば､ 単純にコンソールに書き込めばいいわけです｡
‫だから､ 書けばいいんです｡
‫OBJ それでは､ コンソールを書いたり､ コンソールを使って､ 結果がどうなったか見てみましょう｡
‫結果ではなく､ 大文字と私は実際に合計を呼び出すと､ 最終的に正しいキーをコンソール｡
‫では､ 実行してみましょう｡
‫そして､ ご覧の通り､ 5個になりました｡
‫ハローと179が出るんです｡ 67.
‫では､ この数字は何なのか｡
‫この5つが､ 私のArrayListの中の要素の量になります｡
‫だから､ ここに書いてある､ カウントしてカウントは5｡
‫ここで､ 1､ 2､ 3､ 4､ 5､ 6､ 7と7つある間にいくつの値があったかを調べてみると､ 1､ 2､ 3､ 4､ 5､
‫6､ 7｡
‫そして､ 13を削除し､ 0を削除しました｡
‫では次に､ 13がまだ入っているかどうかをチェックしてみましょう｡
‫だから､ その13を取れば｡ 37で､ 128と25を足しています｡ 3に13を足すと､ ご覧の通り､ このような結果になります｡
‫つまり､ remove 13を削除すると､ 特定の値を持つ要素が削除されてしまうのです｡
‫そこで､ 1つの要素を削除し､ ここにあるようにすべての要素を削除しないようにしました｡
‫つまり､ 13を削除して､ 最初の1つを削除しているだけなのです｡
‫では､ それをコピーしてもう一度実行してみましょう｡
‫そして､ 今度は13を2回削除します｡
‫そして､ ご覧の通り､ この166という値が得られます｡
‫まだ13があったんですね｡
‫では､ 13がないときにもう一度実行してみましょう｡
‫と｡
‫ご覧のとおり､ すべて順調です｡
‫そこで､ 何かを削除しようとしたのですが､ それは何もありませんでした｡
‫ですから､ 何もなければ､ ご覧の通り､ 何もしないだけです｡
‫この13を削除しよう､ 13を削除しようと3度試みても､ もう13は入っていなかったのに｡
‫わかりました｡
‫これが､ ArrayListを使い始めるきっかけとなりました｡
‫このように､ ArrayListについて知っておくべきことはたくさんありますし､ とてもクールです｡
‫そして､ 次のビデオでは､ ArrayListクラスのさらに多くのメソッドを使用していきます｡
‫しかし､ その前に､ これまで話していないことを手短にお話ししたいと思います｡
‫そして､ ここにあるのがこの物体です｡
‫では､ なぜここでArrayListのデータ型として､ 例えばArrayListでもなく､ 整数や文字列でもなく､ オブジェクトを使っているのでしょうか？
‫さて､ ここでオブジェクトを使っているのは､ オブジェクトが最高レベルだからです｡
‫他のすべてのクラスがあるクラスは､ ある意味でそのクラスオブジェクトを継承しているのです｡
‫そのため､ ここではオブジェクトを使用することができます｡ なぜなら､ 私の配列リストに含まれるさまざまなデータ型が､ このオブジェクトで機能するからです｡
‫配列のリストを見てみると､ ここに整数があり､ ここに文字列があり､ そしてそこにdoubleがあります｡
‫つまり､ 3つの異なるデータ型が存在し､ オブジェクトやこのオブジェクトは整数になるとか､
‫文字列になるとか､ doubleになるとか､ そういうことは言えないわけですね｡
‫そして､ オブジェクトはその面倒を見るだけです｡
‫つまり､ この方法を使えば､ 万が一整数になったとしても､ OCを理解するのに十分な賢さがあり､
‫その点を考慮して合計に加算してくれるのです｡
‫そうでないと､ ダブルの場合､ 合計に加算されてしまいます｡
‫でも､ 文字列なら､ 文字列をプリントアウトするだけです｡
‫わかりました｡
‫ただ､ これは完全に確認したいんです｡
‫だから､ この小品を映像に加えたのです｡
‫その他､ 説明不足と思われる質問があれば､ Q&Aで教えていただければ､
‫追加で説明したりします｡
‫ええ､ 講義への説明です｡
‫わかりました｡
‫それでは､ 次のビデオでお会いしましょう｡