次のコードに遭遇しました。このコードについて明確にする必要があります。
http://www.vogella.com/articles/AndroidSQLite/article.html#contentprovider_overview
private void checkColumns(String[] projection) {
String[] available = { TodoTable.COLUMN_CATEGORY,
TodoTable.COLUMN_SUMMARY, TodoTable.COLUMN_DESCRIPTION,
TodoTable.COLUMN_ID };
if (projection != null) {
HashSet<String> requestedColumns = new HashSet<String>(
Arrays.asList(projection));
HashSet<String> availableColumns = new HashSet<String>(
Arrays.asList(available));
// Check if all columns which are requested are available
if (!availableColumns.containsAll(requestedColumns)) {
throw new IllegalArgumentException(
"Unknown columns in projection");
}
}
}
私の質問は次のとおりです。ハッシュセットは値を比較するために使用されるため、舞台裏で何が起こっているのですか? ハッシュセットにテーブルのデータが格納されていますか? はいの場合、この値を別のプログラムで使用し、コンソールにも出力できますか?
何が起こっているのかわかりません。説明してください。
ありがとう。