开发者

Java Hashmap/Hashtable and numbering

开发者 https://www.devze.com 2023-01-27 21:16 出处:网络
the question is simple - I have to implement JTree TreeModel interface which requires that every object has a number. The tree will represent data that are kept in hashmap/hashtable. Keys in that hash

the question is simple - I have to implement JTree TreeModel interface which requires that every object has a number. The tree will represent data that are kept in hashmap/hashtable. Keys in that hashmap are client objects and values are arrays of resources (or ArrayLists) so numbering is o开发者_高级运维nly a problem at the top level. What would be the easiest way to number keys in Hashmap/Hashtable?


public class IndexedMap<V> extends HashMap<Long, V> {
    private AtomicLong index = new AtomicLong();

    public void put(V value) {
        put(index.getAndIncrement(), value);
    }
}

IndexedMap<Object> objects = new IndexedMap<Object>();
objects.put("foo");
objects.put("bar");
// ...

But why don't you just use an ArrayList? It holds objects by an index, exactly what you need.


Sounds like the user-object keys need to be ordered - their "number" would be derived from their spot in the ordering.

Are the keys Comparable? If so, maybe use a TreeMap. If not, I suppose insertion order is your best bet (LinkedHashMap)

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号