0

私のプロジェクトプログラムの検索バーでは、データベースから取得した値を保存するために Set を使用しています。宣言の私のコードは

Set<String> name=new HashSet<String>();
Set<String> category=new HashSet<String>();
Set<String> description=new HashSet<String>();

& 検索クエリは:

stmt=con.createStatement();
String sql="select name,category,left(description,150) from packages where name like      '%"+query+"%'";
rs=stmt.executeQuery(sql);
while(rs.next())
{
i++;
name.add(rs.getString(1));
category.add(rs.getString(2));
description.add(rs.getString(3));
System.out.println("Length Is :\n Name :"+name.size()+"\n category :"+category.size()+"\n description :"+description.size());
}

コンソールに表示される結果: 名前のサイズ:42 カテゴリのサイズ: 12 説明のサイズ:12

しかし、すべてのセットオブジェクトの長さは同じでなければならないと思います...私のデータベースではnull値はありませんセットコレクションサイズ基準にあるのですか???または他の問題がありますか???

4

4 に答える 4

2

Set は重複値を取らないインターフェースです。したがって、42 の個別の名前、12 の個別のカテゴリ、および 12 の個別の説明が必要です。そのため、サイズのバリエーションが得られます。set の代わりに List インターフェイスを使用できます。ArrayList を使用できます。

于 2013-10-24T07:08:59.417 に答える