JDBCを使った Servletプログラミング J2EE I 第9回 / 2006-01-28 1 検索結果の管理 データベースの検索結果1件と、1つの JavaBeansを対応させる このとき、検索結果の項目とJavaBeansのプロ パティに対応関係を持たせる 複数の検索結果は、java.util.List などの コレクションでまとめる 2 なぜJavaBeansを使うのか 検索結果をオブジェクトとして管理できる 直列化できるので、ネットワークを使ってオ ブジェクトを転送できる (JSFなどのフレームワークでは)プロパティ を便利に使うことができる 3 List 4 java.util.List (1) オブジェクトが順番に並んだコレクション java.util.List はインタフェース 実装クラスには java.util.ArrayList java.util.LinkedList java.util.Vector 5 java.util.List (2) // 生成 List<String> list = new ArrayList<String>(); // リストの末尾に追加 list.add(line); // 0番目 (=先頭) の要素を取得 String str = list.get(0); 6 インタフェースの利用 普通ならこう書く。 ArrayList は List インタフェースを実装しているので、こう書ける。 ArrayList<String> list = new ArrayList<String>(); List<String> list = new ArrayList<String>(); LinkedListもListを実装しているからこう書ける。 List<String> list = new LinkedList<String>(); public class ArrayList implements List { …… } 7 Generics (1) J2SE 5.0 から導入された機能 Listで管理するオブジェクトをString型に限定する List<String> l = new ArrayList<String>(); ほかの型の場合 List<Book> l = new ArrayList<Book>(); List<Integer> l = new ArrayList<Integer>(); 8 Generics (2) J2SE 1.4 までの場合 List l = new ArrayList(); l.add("1000"); …… String str = (String)list.get(0); キャストが必要になる 9 コレクションの繰り返し処理 10 java.util.Iterator (1) コレクションの中のオブジェクトをひとつひ とつ処理していく 11 java.util.Iterator (2) Iterator<String> iterator = list.iterator(); while (iterator.hasNext()) { String value = iterator.next(); System.out.println(value); } 12 for文の拡張 (1) J2SE 5.0 から登場した for 文の拡張 コレクションや配列に含まれる要素を繰り返 し処理する for (要素の型 要素名: コレクション or 配列) { …… } 13 for文の拡張 (2) List<String> list = new ArrayList<String>(); …… for (String value: list) { System.out.println(value); } 14
© Copyright 2024 ExpyDoc