Jak porównać ciąg znaków z arraylistą

Jak porównać wartość z arraylistą? Baza danych formularzy poniżej to mój kod. Chcę tylko filtrować tylko te wartości, które są obecne w bazie danych. Chcę tylko filtrować listę tablic w tej linii

if (arraylist.equals(p.packageName))

więc pokaż tylko tę nazwę pakietu, która pasuje do bazy danych, co mam zrobić?

DatabaseHandler db;
private List<App> loadInstalledApps(boolean includeSysApps) {
    List<App> apps = new ArrayList<App>();

    // the package manager contains the information about all installed apps

    PackageManager packageManager = getPackageManager();
    List<PackageInfo> packs = packageManager.getInstalledPackages(0); 
    List arraylist = db.getAllApps();

    for (int i = 0; i < packs.size(); i++) {
      PackageInfo p = packs.get(i);
      ApplicationInfo applicationInfo = p.applicationInfo;
      if (arraylist.equals(p.packageName))
      {
        App app = new App();
        app.setTitle(p.applicationInfo.loadLabel(packageManager).toString());
        app.setPackageName(p.packageName);
        app.setVersionName(p.versionName);
        app.setVersionCode(p.versionCode);
        CharSequence description = p.applicationInfo.loadDescription(packageManager);
        app.setDescription(description != null ?    description.toString(): "");
        apps.add(app);
      }
    }
    return apps;
}

public class DatabaseHandler extends SQLiteOpenHelper {
     // All Static variables    // Database Version
     private static final int DATABASE_VERSION = 1;

     // Database Name
     private static final String DATABASE_NAME = "contactsManager";

     // Contacts table name
     private static final String TABLE_CONTACTS = "contacts";

     // Contacts Table Columns names
     private static final String KEY_ID = "id";
     private static final String KEY_NAME = "name";
     //private static final String KEY_PH_NO = "phone_number";

     public DatabaseHandler(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
     }

     // Creating Tables
     @Override
     public void onCreate(SQLiteDatabase db) {
         // String CREATE_CONTACTS_TABLE = "CREATE TABLE " + TABLE_CONTACTS + "("+ 
         //  KEY_ID + " INTEGER PRIMARY KEY," + KEY_NAME + " TEXT,"+ KEY_PH_NO + " TEXT" + ")";

         String CREATE_CONTACTS_TABLE = "CREATE TABLE " + TABLE_CONTACTS +
             "("+ KEY_ID + " INTEGER PRIMARY KEY," + KEY_NAME + " TEXT" +  " UNIQUE " + ")";
         db.execSQL(CREATE_CONTACTS_TABLE);
     }

     public ArrayList<String> getAllApps() {
         String selectQuery = "SELECT  * FROM "+TABLE_CONTACTS;
         ArrayList<String> apps = new ArrayList<String>();
         SQLiteDatabase db = this.getWritableDatabase();
         Cursor cursor = db.rawQuery(selectQuery, null);
         // looping through all rows and adding to list
         if (cursor.moveToFirst()) {
             do {
                 apps.add(cursor.getString(cursor.getColumnIndex(KEY_NAME)));
             } while (cursor.moveToNext());
         }

         // return list
         return apps;
     }
}

questionAnswers(1)

yourAnswerToTheQuestion