Java の素描 #008: Map を利用する:scala.collection.Map
‖記事一覧‖ Java.use(better, Swing=Scala) #FIFA World Cup への道《Scala2.8.0》
Java の素描 〜 Scala 弾丸ツアー:時短プログラミング生活のすすめ 〜
《著》小粒ちゃん@湘南組《監修》タマゴ倶楽部
第1版♪2003/05/23 ● 第2版♪2006/04/03 ● 第3版♪2010/06/11● 第4版♪2010/07/14
|関連記事|
step08: Map を利用する:scala.collection.Map
- Java の素描 #008《Jython2.5》
辞書を利用して、各チームの略号と正式名称とを対応させます。
■ 要求仕様: 全チームの一覧表を作成する
全32チームの一覧表(リスト項目)を作成したいとします。各項目を選択すると、チームの情報が得られるようにします。それには、JList を利用すると便利です。
■ JList の動作を確認する
任意の項目を提示して、各項目を選択したときの動作を規定します。チームの略号を列挙した項目を選択すると、その正式名称が得られるようにします。
■ プログラムを変更する
## ---------------------------------------- wcFrame.py class TopPanel(JPanel): groups = { "A": [ # Group A {"rsa": "South Africa"}, {"mex": "Mexico"}, {"uru": "Uruguay"}, {"fra": "France"}, ], ... } def __init__(self, master, *args, **keys): ... def teams(): return sorted(team for group in "ABCDEFGH" for teams in self.groups[group] for team in teams) def __call__(self, e): # javax.swing.event.ListSelectionEvent value = e.source.selectedValue teamNames = dict*1 print(":: %s"%teamNames[value])
■ プログラムを実行する
$ jython -i ex08/wcFrame.py
>>> :: Algeria
- Algeria
- Japan
- Japan
リスト項目には、各チームの略号が整列して(アルファベット順に)表示されます。ここで、リスト項目から "jpn" を選択すると、日本チームの正式名称 Japan が出力されます。
》作業中です《
- 組み込み関数 sorted を利用すると、
- 組み込み関数 dict を利用すると、
*1:k,v) for group in self.groups.values() for team in group for k,v in team.items(