use*_*175 3 java arraylist hashmap
我需要一个类同时是HashMap和ArrayList.
为什么我需要HashMap?基于密钥快速访问对象.
为什么我需要ArrayList?随机选择一个元素.
你知道如何解决这个问题吗?从架子上有现成的课吗?
至于现在,我想到的唯一解决方案是使用ArrayList.然后随机访问是小菜一碟.并且仅仅使用简单的迭代器来选择基于键的对象是某种解决方案,但远非完美....
你可以使用组合:
public class HashedList<K, V> {
private final List<V> list = new ArrayList<>();
private final Map<K, V> map = new HashMap<>();
protected K getKey(V val);
public void add(V value) {
list.add(value);
map.put(getKey(value), value);
}
public V get(int index) {
return list.get(index);
}
public V get(K key) {
return map.get(key);
}
}
Run Code Online (Sandbox Code Playgroud)