How to represent SQL Table and SELECT Query in Guava?
<p>Consider a typical <strong>Customers</strong> table:</p>

<p><a href="https://i.stack.imgur.com/8IsjL.gif" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/8IsjL.gif" alt="Customers table"></a></p>

<p>And a typical <strong>SQL pattern matching query:</strong></p>

<pre><code>SELECT FirstName, LastName, City 

FROM Customers 

WHERE FirstName LIKE '%ab%'

OR LastName LIKE '%an%'
</code></pre>

<p>How can we represent this table and SQL SELECT query using Google Guava Library <strong>Table</strong> collection and <strong>Predicates</strong>?</p>

<p><strong>EDIT</strong></p>

<p>As mentioned by mfulton26, the Guava Table is probably not the most ideal data structure equivalent to a database table.</p>

<p>So, which is the most appropriate data structure for an in memory data table capable of providing:</p>

<p>1) Iteration (probably with Iterators)</p>

<p>2) Filter (Probably with Predicates)</p>

<p>3) Multiple data columns with indexing for fast access.</p>