commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David López Muñoz <...@tid.es>
Subject [collections] Proposal - Multiindex Container
Date Mon, 19 Jun 2006 07:39:32 GMT
Hello,
this is a proposal for Jakarta Commons developers.

It's related to the inconvenient proliferation of complex
types of containers: LRUMap, List, ArrayList, Sets, OrderedLists,
OrderedSets, BidiMaps, and son on. I find that every simple customization
to a minimal requirement often results in a very particular new
subtype.

My proposal is to implement the equivalent in Java Jakarta Commons Collections
to the famous Boost C++ Multi-index Containers Library.
http://www.boost.org/libs/multi_index/doc/index.html

It defines a generic container simultaneously maintaining one or more indices with
different sorting and access semantics. The versatile nature of Boost.MultiIndex
allows for the specification of a wide spectrum of different data structures.
It allows sorted, hashed, sequenced, random-access indices.
It also provides extended look-up facilities.
Therefore it can emulate different data structures such as:
- Sets with several iteration orders and search criteria.
- Lists with fast lookup and/or without duplicates.
- Bidirectional maps, i.e. maps searchable either for key or value.
- MRU (most recently used) lists, structures keeping the n last referenced items, beginning
with the newest ones.

I consider that it has an easy implementation in Java, and it could
significantly improve the power of Collections.

Comments are welcome.
Best Regards

-- 
David López Muñoz
(34) 91 337 4703
gtalk, jabber: dlm@tid.es
Multimedia Technology
Telefónica Investigación y Desarrollo

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


Mime
View raw message