Ash, Classes for this purpose which previously existed in COLLECTIONS were moved to the Sandbox project - PRIMITIVES. Please take a look there. There's apparently a lot of work going on with these classes, so check it out.
-AMT -----Original Message----- From: Ash .. [mailto:[EMAIL PROTECTED] Sent: Thursday, December 04, 2003 9:51 AM To: [EMAIL PROTECTED] Cc: [EMAIL PROTECTED] Subject: [collections] Primitive-value maps While waiting for a +1 on the MapUtils.getPrimxxxValue() methods, I have been wondering why the commons collections framework does not have Maps that store and help retrieve primitive values. Stuff like IntMap with put(Object key, int value), etc. I mean, when there are primitive-value collections (lists and sets), why not map? Maybe this was discussed before. In any case, perhaps we can have them. Comments. Ash Reposting this, so that if we are decided on the method signatures, I can work on the implementation this weekend. Ash [Stephen] >I would only add the >full signature version (with default). That way the method name can >just be getDouble(). But that would provoke the question "if I want to retrieve a primitive without specifying a default, why should I have to mention a default (even 0) everytime??" I would propose we inlclude both variants (with and sans default), and have a uniform naming for them. Even if we add only the default-taking method today, what if we decide tomorrow that the defaultless one can be useful. And then, I think it is ok if we cannot preserve the same method names. so, I propose the following: public static double getIntValue(Map map, Object key) public static double getIntValue(Map map, Object key, int defaultValue) etc for each prim (and String) Waiting for feedback from others. I can implement these methods after I am done with the subarray(prim[]) ones. >This is a very old class in [collections] and pre-dates me. I would >probably >oppose adding these methods now. But why?? Ash > >-----Original Message----- >From: Stephen Colebourne [mailto:[EMAIL PROTECTED] > > >This is a very old class in [collections] and pre-dates me. I would >probably >oppose adding these methods now. However, now that we have them, I would >support having the primitive methods as you propose. I would only add the >full signature version (with default). That way the method name can just be >getDouble(). >Stephen > >----- Original Message ----- >From: "Ash .." <[EMAIL PROTECTED]> > > I am curious to know why MapUtils does not have getters that return > > primitive types. Perhaps there was a discussion on whether it was > > needed >or > > not, you could point me to such discussion that took place in the > > past >when > > this class was conceived. > > In any case, I think that getters that return primitives could be > > very useful, much more than those that return wrapper objects. Thus, > > I think >we > > could do with methods like: > > > > MapUtils.getDoubleValue(Map map, Object key [,defaultValue]); > > > > If the answer to my question is "you can do a > > MapUtils.getDouble(map, > > key).doubleValue() and so on", > > I would say, having a built-in method enhances the use of this class >than > > having a programmer resort to such multiple method call. Of course, > > the internal implementation would do the same, but in the end, > > client code >would > > look far neater. > > > > Let me know, > > Ash > > _________________________________________________________________ Stay in touch with absent friends - get MSN Messenger http://www.msn.co.uk/messenger --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] _________________________________________________________________ Tired of 56k? Get a FREE BT Broadband connection http://www.msn.co.uk/specials/btbroadband --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]