commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stephen Colebourne" <scolebou...@btopenworld.com>
Subject Re: [collections] Yipes, I need Regexp based get on a Map
Date Thu, 04 Mar 2004 20:00:07 GMT
What about writing a Predicate for your regex.
Then use CollectionsUtils.filter(map.keySet(), predicate) to get the
matches.

For alternate solutions search the mailing list for 'Trie'. IIRC it is meant
to handle text prefix searches (or look at Lucene). Of course neither handle
regex. I don't think that a regex dependency for [collections] is good
however.

Stephen


----- Original Message -----
From: "Mark R. Diggory" <mdiggory@latte.harvard.edu>
> I'm trying to put together a lookup mechanism that is regular expression
> based. For example
>
>
> Map map = ...;
>
> Bar bar = new Bar();
>
> map.put("^http://foo.bar*",bar);
>
>
> Bar bar2 = (Bar)map.get("http://foo.bar/bam");
>
>
> get("...") would return the bar object. Of course, this could match
> multiple values, as such get("...") could return the first value
> encountered or a Collection of all the matches encountered.
>
> Collection bars = (Collection)map.get("http://foo.bar/bam");
> Iterator iter = bars.iterator();
> Bar bar2 = (Bar)iter.next();
>
> Any ideas on how I can throw this together using Commons Collections as
> a basis? I can live with just >=j2sdk1.4 compatibility. Is this
> something Commons Collections would like to have available?
>
> -Mark
> --
> Mark Diggory
> Software Developer
> Harvard MIT Data Center
> http://www.hmdc.harvard.edu
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: commons-dev-help@jakarta.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org


Mime
View raw message