title: Find String range using String parameter
body: <p>I have a collection of the following type:</p>
  
  <pre><code>class Container
  {
     private String startValue;
     private String endValue;
  }
  </code></pre>
  
  <p>Let's say it contains these entries...</p>
  
  <pre><code>{"123, "789"},
  {"1", "8"},
  {"9", "10"},
  </code></pre>
  
  <p>Then I want to ask the collection to give me all entries which satisfy the predicate between start and end values of each Container, such as the String "5" parameter would return the two first entries above (but not the last one) whereas "9" would only return the first one (and so on).</p>
  
  <p>It should behave as SQL BETWEEN operator on a VARCHAR column.</p>
  
  <p>Changing type from String is not an option. Changing data structure is not an issue.</p>
  
  <p>Performance is also a very importan here. The data structure is rarely changed, but retrieval is very common. A bit extra space taken if speed can be gained is also fine.</p>
  
  <p>Any ideas?</p>