collection class. In the ListedHashTree, the order in which values are added
is preserved (not to be confused with
, which sorts
the order of the values using the compare() function). Any listing of nodes
or iteration through the list of nodes of a ListedHashTree will be given in
the order in which the nodes were added to the tree.
Methods from org.apache.jorphan.collections.HashTree: |
---|
add, add, add, add, add, add, add, add, add, add, add, add, add, add, addTreePath, clear, clone, cloneTree, containsKey, containsValue, createNewTree, createNewTree, createNewTree, entrySet, equals, get, getArray, getArray, getArray, getArray, getTree, getTree, getTree, getTreePath, hashCode, isEmpty, keySet, list, list, list, list, put, putAll, remove, replace, search, set, set, set, set, set, set, set, set, set, size, toString, traverse, values |
Method from org.apache.jorphan.collections.ListedHashTree Detail: |
public HashTree add(Object key) {
if (!data.containsKey(key)) {
HashTree newTree = createNewTree();
data.put(key, newTree);
order.add(key);
return newTree;
}
return getTree(key);
}
|
public void clear() {
super.clear();
order.clear();
}
|
public Object clone() {
ListedHashTree newTree = new ListedHashTree();
cloneTree(newTree);
return newTree;
}
|
public HashTree createNewTree() {
return new ListedHashTree();
}
|
public HashTree createNewTree(Object key) {
return new ListedHashTree(key);
}
|
public HashTree createNewTree(Collection values) {
return new ListedHashTree(values);
}
|
public boolean equals(Object o) {
if (!(o instanceof ListedHashTree)) {
return false;
}
ListedHashTree lht = (ListedHashTree) o;
return (super.equals(lht) && order.equals(lht.order));
// boolean flag = true;
// if (o instanceof ListedHashTree)
// {
// ListedHashTree oo = (ListedHashTree) o;
// Iterator it = order.iterator();
// Iterator it2 = oo.order.iterator();
// if (size() != oo.size())
// {
// flag = false;
// }
// while (it.hasNext() && it2.hasNext() && flag)
// {
// if (!it.next().equals(it2.next()))
// {
// flag = false;
// }
// }
// if (flag)
// {
// it = order.iterator();
// while (it.hasNext() && flag)
// {
// Object temp = it.next();
// flag = get(temp).equals(oo.get(temp));
// }
// }
// }
// else
// {
// flag = false;
// }
// return flag;
}
|
public Object[] getArray() {
return order.toArray();
}
|
public int hashCode() {
int hc = 17;
hc = hc * 37 + (order == null ? 0 : order.hashCode());
hc = hc * 37 + super.hashCode();
return hc;
}
|
public Set keySet() {
return data.keySet();
}
|
public Collection list() {
return order;
}
|
public Object remove(Object key) {
order.remove(key);
return data.remove(key);
}
|
public void replace(Object currentKey,
Object newKey) {
HashTree tree = getTree(currentKey);
data.remove(currentKey);
data.put(newKey, tree);
order.set(order.indexOf(currentKey), newKey);
}
|
public void set(Object key,
Object value) {
if (!data.containsKey(key)) {
order.add(key);
}
super.set(key, value);
}
|
public void set(Object key,
HashTree t) {
if (!data.containsKey(key)) {
order.add(key);
}
super.set(key, t);
}
|
public void set(Object key,
Object[] values) {
if (!data.containsKey(key)) {
order.add(key);
}
super.set(key, values);
}
|
public void set(Object key,
Collection values) {
if (!data.containsKey(key)) {
order.add(key);
}
super.set(key, values);
}
|
public int size() {
return data.size();
}
|