Re: Table object
This message is in MIME format. The first part should be readable text,
while the remaining parts are likely unreadable without MIME-aware tools.
---910079544-2093535196-1247874105=:13702
Content-Type: TEXT/PLAIN; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 8BIT
On Fri, 17 Jul 2009, Philipp wrote:
On Jul 17, 11:37?am, Alessio Stalla <alessiosta...@gmail.com> wrote:
On Jul 17, 11:30?am, Philipp <djb...@gmail.com> wrote:
I'm looking for a collection which behaves like a two column table
(ordered key - value pairs, key not unique). Is there such a thing
either in the JRE or Apache collections?
A list of tuples?
class Tuple<K, V> {
? K key;
? V value;
}
It's not exactly clear what you want: "ordered" pairs - ordered how?
By order of insertion, or by Comparable/Comparator?
key - value pairs: do you need collection.get(key) ==> value?
collection.indexOf(key)? etc.
You could have to subclass some java.util.*List class.
Yes sorry I forgot to mention that I would like to have it implement
Map. Thus have something like a Collection which at the same time
implement List and Map (which is not possible).
The behaviour you want can be got from a TreeMap (a map which effectively
keeps its keys in sorted order) which contains LinkedHashSets (sets which
keep their elements in insertion order). But not the interface. I would
suggest you write a wrapper of your own - not necessarily implementing
Map, since it's not really a Map - around those classes.
For situations where you want it to act like a Map or a List, you could
have methods:
public Map<K, V> firstValues();
public List<V> values();
Which act like Map.entrySet, returning a 'live' collection which is a view
on the data in the table. Don't ask me how you'll implement add() on the
List view, though.
The code you've already written is probably simpler, though!
tom
--
It's just really fucking good and that's all. -- Gabe, on the Macintosh
---910079544-2093535196-1247874105=:13702--