Hi, I'd be happy to contribute all or parts of an existing free collection library, and in the process move them over to the Apache license. Some time ago I created an extensive collection library, and made it freely available (FreeBSD like). Now I've moved on to other projects. The lib serves a certain community (high performance numerical analysis) well, is of production quality and contains no known bugs. If some parts of it turn out to be useful more generally (within jakarta-commons), people should be able to go ahead and take advantage, and move relevant code over to jakarta. I will not be able to devote much time to it, but can assist. The Colt distribution (http://nicewww.home.cern.ch/~hoschek/colt/index.htm) provides an infrastructure for scalable scientific and technical computing in Java. It contains, among others, efficient and usable data structures and algorithms for Off-line and On-line Data Analysis, Linear Algebra, Multi-dimensional arrays, Statistics, Histogramming, Monte Carlo Simulation, Parallel & Concurrent Programming. Here are links to the pieces most likely to be of interest for jakarta collections. * Templated Lists and Maps Dynamically resizing lists holding objects or primitive data types such as int, double, etc. All stuff is complementary, and not competing with java.util.* http://nicewww.cern.ch/~hoschek/colt/V1.0.1/doc/cern/colt/list/package-summary.html http://nicewww.cern.ch/~hoschek/colt/V1.0.1/doc/cern/colt/list/adapter/package-summary.html http://nicewww.cern.ch/~hoschek/colt/V1.0.1/doc/cern/colt/map/package-summary.html * Bitvectors and Bitmatrices http://nicewww.cern.ch/~hoschek/colt/V1.0.1/doc/cern/colt/bitvector/package-summary.html * Sorting Quicksorts, mergesorts and binary searches; complements java.util.Arrays. Generic sorting of arbitrary shaped data (for example multiple arrays) using a quicksort. All stuff is complementary, and not competing with java.util.* http://nicewww.cern.ch/~hoschek/colt/V1.0.1/doc/cern/colt/package-summary.html Basic Design Goals: * Efficiency. Routines are typically fast both due to the chosen algorithms and datastructures as well as due to careful implementation. * User friendliness. To the casual user this is a high level object oriented toolkit, consisting of classes which directly provide most frequently needed functionality. Most users will never need to extend or modify any code. * Safety. Most methods defensively check preconditions and throw appropriate exceptions. However, almost none of them are synchronized. Most collections here hold primitive values rather than java.lang.Objects. As such these classes may not fit well into the overall strategy of jakarta-collections?! Let me know. For current licensing terms, see http://nicewww.cern.ch/~hoschek/colt/download/v1.0.1/download.htm Caveat: A few classes depend on other stuff you may not want to drag in. AFAIK, none of this is a show stopper, because the affected methods are non-critical and can be deleted (setting elements of collection to high quality random numbers, ...). Some massaging will be unavoidable, though. Wolfgang. ----------------------------------------------------------------------- Wolfgang Hoschek | e-mail: [EMAIL PROTECTED] CERN IT Division | phone: +41 (22) 767 8089 European Organization | fax: +41 (22) 767 7155 for Nuclear Research | -----------------------------------------------------------------------
