‫お帰りなさい｡
‫そして､ このビデオでは､ 学生をソートし､ また､ 特定の大学のすべての学生を見つけるためにチェックアウトするつもりです｡
‫では､ さっそくメソッドを作ってみましょう｡
‫大学マネージャークラスで､ Sort Students by Hというメソッドを作成します｡
‫そしてまず､ Sorted Studentsという新しい変数を作ります｡ これはstudentsの中のstudentからで､
‫order by student dot ageで並び替えて､ studentを選択することにします｡
‫ということで､ ご覧の通り､ order byを使っています｡
‫これは､ 出力を与えられた値でソートする演算子です｡
‫つまり､ 私たちの年齢値で出力をソートすることになります｡
‫また､ Type IIの列挙可能な変数から新しい変数を代入する代わりに､ 単にvar Cをショートカットとして使用しています｡
‫これは機能しますが､ どの型であるべきかを理解する必要があるため､ 一般的にコードが少し遅くなります｡
‫なぜなら､ var は非常に汎用的な型であり､ ご覧のようにソートされたシーケンスを表し､ t 要素がここで学生であることをすでに知っているからです｡
‫だからまあ......かなりスマートです｡
‫ここで作業している間もそうなんです｡
‫わかりました｡
‫では､ このコンソールにソートされた生徒をプリントしてみましょう｡ Hでソートされた生徒､ そしてすべての生徒をプリントアウトしましょう｡
‫ここでは､ for eachループで､ 変数タイプはstudent､ 名前はstudent､ チェックしたいコレクションはsortedです｡
‫学生 そして､ ここでは学生のドットプリントを使うだけです｡
‫そこで､ ここにあるリンクステートメントに基づいて作成された､ 並べ替えられた生徒リストの生徒に関する情報を印刷することにします｡
‫そこで､ ここではこの演算子を使っていますが､ ご存知のように､ リンクには複数の異なる演算子があります｡
‫ドキュメントには､ 一般的に標準的なクエリ演算子が記載されています｡
‫では､ ここであなたの注文を見てみましょう｡
‫その頃には､ ここで違うものを見つけているはずです｡
‫グループ化データ生成演算､ 等値演算｡
‫だから､ いろいろな操作を確認することができるのです｡
‫わかりました｡
‫だから､ ぜひドキュメントを確認されることをお勧めします｡
‫わかりました｡
‫では､ 次にそれを確認してみましょう｡
‫大学マネージャーを使って､ 学生をHでソートし､ コンソールに出力してみましょう｡
‫では､ 実行してみましょう｡
‫そして､ 年齢順に並べられた学生たちです｡
‫IDを持つ学生カルラ1性別｡
‫女性 17歳
‫それから､ 83歳のレイラが19歳になったりしています｡
‫つまり､ 低いものから高いものへと､ 特定の順序で並んでいるのがわかりますね｡
‫わかりました｡
‫さて､ これで年齢別に生徒を並べ替えることができるようになりました｡
‫そして今度は､ 以前にも同じような方法で行ったことがありますが､ その際にデータベースを使用したものを見てみましょう｡
‫次に､ リストと同じことができるリンクを使用します｡
‫そこで､ 新しいメソッドを作ってみましょう｡
‫ベイ・ジェーン・テックの全学生を対象にしたパブリックボイド｡
‫つまり､ 北京理工大学に在籍しているすべての学生が対象となります｡
‫そして今､ ここで問題なのは､ 両方を含むリストがないことです｡
‫そこで､ この外部キーである大学IDで調べて､ 大学名を確認する必要があります｡
‫だから､ もう少し複雑なんです｡
‫これは2つのテーブルを結合するようなもので､ 前章で動物テーブルと動物園テーブルの2つのテーブルを結合して動物園動物テーブルを作成する方法をご覧になりましたね｡
‫そしてそれは､ ここでも同じようなことが必要なのです｡
‫では､ さっそくまとめてみましょう｡
‫ここに欲しい学生を列挙して､ BGT学生と呼ぶことにします｡
‫だから北京工大生は｡
‫そして､ ここでも生徒と学生からの各ループに使っています｡
‫今､ 私は大学に参加する必要があり､ この場合､ それは実際に小文字のuです 大学で学生ドット大学IDに､
‫今､ 私たちはキーワードeを等しくする必要がある 大学が思ったID ここで､ 大学名は北京工科大学と同じです｡
‫そして今度はその生徒を選択します｡
‫だから､ 学生を選ぶ｡
‫そこで､ 学生の大学IDに適用されるjoin演算子を使用しています｡
‫そこで､ 学生のIDの大学をチェックする必要があり､ そして見たいのです｡
‫その正確な大学名が北京工大である大学IDを持っているのはどの学生なのか｡
‫だから､ 私たちの場合も､ それがわかっているのです｡
‫つまり､ 2の発想は北京工大に等しいということですね｡
‫そこで､ 基本的にすべての学生をループし､ ジョイント演算子で大学を取得します｡
‫そして､ その提携大学が北京工大という名前を持っているかどうかを単純にチェックします｡
‫そして､ それだけです｡
‫それが､ この行のコードです｡
‫まあ､ 1行のコードなんですけどね｡
‫私たちの場合､ 4行です｡
‫しかし､ 通常これは1行のコードに過ぎない｡
‫そして､ それをコンソールに出力することができるようになりました｡
‫北京工大の学生で､ ここでfor eachループを使って､ G t studentsのstudentにしましょう｡
‫そして､ 今度はそれをコンソールに表示してみましょう｡
‫だから､ そういう印刷をする｡
‫わかりました｡
‫では､ 北京工大の学生を全員チェックしましょう｡
‫使ってみましょう､ えーと､ ここで｡
‫北京工大の学生全員
‫そして､ それをプリントアウトする｡
‫学生のためのものであるべきだ｡
‫そして､ 私たちは北京工大の学生で､ 1つのit's genderという考えを持っています｡
‫男性 年齢222歳 大学から2などのIDで｡
‫ですから､ ここにはさまざまな生徒が集まっています｡
‫さて､ コピー＆ペーストをするときに気をつけなかったことが､ 私のときにあったかもしれませんが､ 1つあります｡
‫ここでは､ 同じIDを持つTonyとFrankを紹介します｡
‫だから､ これは3つで､ あとはこのまま上がっていけばいいんです｡
‫1､ 2､ 3､ 4､ 5､ 6｡
‫では､ ちょっとチャレンジしてみましょう｡
‫でIDを整数値で受け取るメソッドを作成します｡
‫では､ integer型のパラメータはどうなっているのでしょうか？
‫そして､ ユーザーによって与えられたIDからすべての生徒を得ることができるはずです｡
‫そこで､ ユーザーの入力を得るために､ 赤い線の部分をコンソールにする必要があります｡
‫そして､ それを整数に変換する必要があります｡
‫そして､ 特定のIDを持つユニに在籍するすべての学生を対象にしたいのです｡
‫だから､ ご存知のように､ エール大学にはIDのものがあり､ 北京にもIDがあるのです｡
‫つまり､ ユーザーが1つ入力すると､ カーラ・アンソニーが画面に表示されるはずです｡
‫彼女も入力すれば､ 北京の学生全員が画面に印刷されるはずです｡
‫だから､ どうぞそれを試してみてください｡
‫わかりました｡
‫そうだといいんですけどね｡
‫そこで､ 新しいメソッドを作って､ public voidと呼ぶことにしました｡
‫そのユニの学生ばかり｡
‫そして､ ここではIDという整数が必要です｡
‫そして､ これから行うのは､ そこからすべてのコードをコピーすることです｡
‫そして､ ここだけID ANDに変更します｡
‫そのユニットから聞いて､ そのコンマIDのようにゼロになりそうです｡
‫今はもちろん
‫名前ではなく､ その大学のIDである必要があります｡
‫そして､ BJDの生徒ではなく､ 私の生徒と呼ぶことにしています｡
‫そこで私が行ったのは､ その学生の大学のIDをチェックすることです｡ これは､ ユーザーによって入力されたID､
‫つまりこのメソッドに与えられたIDと同じものです｡
‫そして､ あとはユーザーからの入力を得るだけです｡
‫では､ mainメソッドでinputという新しい文字列を作り､
‫赤い線をコンソールにします｡
‫この場合､ そして32で､ 入力を変換することになります｡
‫このメソッドを呼び出すと､ その大学のすべての生徒がint型として入力されます｡
‫そして､ 確認しない｡
‫ここではトリックキャッチは使っていません｡
‫まあ､ 実際､ できたんですけどね｡
‫では､ トライキャッチを作ってみましょう｡
‫そして､ そのコードがうまくいった場合のみ実行します｡
‫それで､ うまくいかなかったら､ コンソールで何か書いてみよう｡
‫値が間違っている｡
‫ここではもっといろいろなことができるはずです｡
‫よし､ 何が問題だったのか､ などと言うこともできるのですが､ シンプルに考えています｡
‫では､ 次にコードを実行して､ ここで何かできるかどうか見てみましょう｡
‫そこで､ 1つエントリーしてみると､ ご覧の通り､ ユニワンの学生たち｡
‫では､ もう一度実行して､ 2でもうまくいくかどうか見てみましょう｡ そのユニ2の学生も表示されますし､
‫大学にいる学生もすべて表示されます｡
‫わかりました｡
‫なんとかやってほしいですね｡
‫素晴らしい｡
‫そこで､ もうひとつご紹介したいことがあります｡
‫そこで､ その2つをお見せしました｡
‫ソートの方法と､ ジョイント演算子の使い方を紹介しました｡
‫さて､ 今回は一つの方法でしたが､ 他の方法もあるので､ 他のソートの方法も見てみましょう｡
‫そこで､ そのコードをここまでコメントアウトすることにします｡
‫そして､ あなたに見せたいものがあります｡
‫intの配列を作成してみましょう｡
‫3と12で3012という値を持つint型があり､ int型のI列挙体を作成して､
‫ソートされたint型にするつもりです｡
‫そして今､ クールなことは､ いくつかのintでIから使うことができることです｡ 実際にいくつかのintは複数で並べられ､
‫Iで高いものを選択し､ これは低いキャップintでなければなりません｡
‫あとは､ それを逆手に取れば､ きちんとした方法があります｡
‫そこで､ 別のI列挙可能なintを使用することにします｡ これはintを反転させたもので､ ここでは単にこのsorted installed
‫reverseメソッドを使用するだけです｡
‫つまり､ それは単純に私のソートされたint I enumerableを逆にするものです｡
‫だから､ 順番が逆になるのです｡
‫では､ それらをコンソールに表示してみましょう｡
‫そこで､ それぞれの端に反転したintを入力すると､ その値が画面に書き込まれます｡
‫では､ そうしましょう｡
‫30､ 12､ 12､ 4､ 3｡
‫ご覧のように､ これも仕分けの一つなんですね｡
‫だから､ ここでやったようなことを全部やる必要はないんです｡
‫シンプルに､ 例えば整数を並べ替えたいだけなら､ この方法で､
‫逆順にすれば簡単に並べ替えができます｡
‫だから､ 列挙はかなり強力で､ かなりクールな機能を備えているんだ｡
‫しかし､ これにはさらに別の選択肢もある｡
‫そこで､ 代わりにreversedというint型のai列挙体を使えばよかったのです｡
‫ソートされたイント
‫だからIからいくつかのintsで順序付けまたはIで順序付け､ 今降順としてそれを使用します｡
‫だから降順選択｡
‫今はfor eachループで同じことをやっていますが､ 逆ソートされたintを使うようになっただけです｡
‫よし､ ではもう一度実行してみよう｡
‫そして､ 30､ 12､ 1243と30､ 12､ 12を3つ見ることができます｡
‫つまり､ この2つは異なる方法なのです｡
‫そして実際に､ それらの仕分けや処理方法を3種類見ましたね｡
‫わかりました｡
‫つまり､ これは今下降しているのであって､ そうでなければ上昇するはずだったのです｡
‫このように､ 抱えている問題に対する解決策を見つける方法は複数あります｡
‫素晴らしい｡
‫だから､ この映像はいいと思う｡
‫次の動画に進みましょう｡
‫この小さなプログラムの最後のステップをここで確認します｡
‫では､ 現地でお会いしましょう｡