On Jul 17, 11:37 am, Alessio Stalla <alessiosta...@gmail.com> wrote:
On Jul 17, 11:30 am, Philipp <djb...@gmail.com> wrote:
Hello,
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).
I did produce such a thing myself, but maybe I overlooked a more
standard interface and implementation.
// comments stripped for brevity
public interface TableMap extends Map {
// from List
public Object set(int index, Object value);
public Object get(int index);
public Object remove(int index);
// all methods from Map but in particular:
/** Returns the first Object for that key */
public Object get(Object key);
/** Removes the first entry for that key */
public Object remove(Object key);
/** Throws UnsupportedOperationException */
public Set entrySet();
// additionally
public Object getKey(int index);
public void removeAll(Object key);
public List keyList();
public List valueList();
}
On second thought, this seems way too strange to be in any standard
lib. I'll just have to stick with my implementation.
Comparable<? super T>" and make sure you cover the declared methods.