 <p>Main problems:</p> <p>Database variable should be private, and dont create new variable in constructor.</p> <pre><code>private ArrayList&lt;String&gt; Database; public MovieDatabase(){ this.Database = new ArrayList&lt;String&gt;(); } </code></pre> <p>Your search methods returns list, but doesn't have return statement. Return null, or init empty arraylist an return it. For example:</p> <pre><code> public ArrayList&lt;MovieEntry&gt; searchTitle(String substring){ ArrayList&lt;MovieEntry&gt; entries = new ArrayList&lt;MovieEntry&gt;(); for (String title : Database) System.out.println(title); return entries; } } </code></pre>