有没有更好的方法在 Java 中执行以下操作,而不使用外部库。
我需要对 int(原始)的组/子(树状)结构进行建模。在 Json 中
[{1,1}, {1,2}, {2,1},{3,1}]
我需要支持添加/删除元素(元素是一对 {group, child} )而不重复。
我在想,保持一个数据结构。
ArrayList<HashMap<Integer,Integer>>
加上。
遍历 ArrayList,对照要插入的值检查 HashMap 键和值,如果不存在则插入。
删除:
遍历 ArrayList,对照要删除的值检查 HashMap 键和值,如果存在则删除。
标准库是否有更好的数据结构/方法。
根据以下答案之一,我开设了这样的课程。请让我知道有什么要注意的。我期待(并将尝试)arraylist 将通过使用 KeyValue 类中的 equal 方法正确处理添加/删除。谢谢。
static class KeyValue {
int groupPos;
int childPos;
KeyValue(int groupPos, int childPos) {
this.groupPos = groupPos;
this.childPos = childPos;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
KeyValue keyValue = (KeyValue) o;
if (childPos != keyValue.childPos) return false;
if (groupPos != keyValue.groupPos) return false;
return true;
}
@Override
public int hashCode() {
int result = groupPos;
result = 31 * result + childPos;
return result;
}
}