@Override public CharTreeNode<V> append(char b) { if (next != null && this.b != b) { ArrayCharTreeNode<V> node = new ArrayCharTreeNode<V>(Math.max(this.b, b)); node.set(this.b, next); node.append(b); return node; } else if (this.b == b) return this; else { this.b = b; next = new SingleCharTreeNode<V>(); return this; } }
public ArrayCharTreeNode(int size) { increase(size); }
@Override public CharTreeNode<V> append(char b) { if (next != null && this.b != b) { ArrayCharTreeNode<V> node = new ArrayCharTreeNode<V>(Math.max(this.b, b)); node.set(this.b, next); node.append(b); return node; } else if (this.b == b) return this; else { this.b = b; next = new SingleCharTreeNode<V>(); return this; } }
public ArrayCharTreeNode(int size) { increase(size); }
@Override public CharTreeNode<V> set(char b, CharTreeNode<V> n) { if (next != null && this.b != b) { ArrayCharTreeNode<V> node = new ArrayCharTreeNode<V>(Math.max(this.b, b)); node.set(this.b, next); node.set(b, n); return node; } else if (this.b == b) { next = n; return this; } else { this.b = b; next = n; return this; } }
@Override public CharTreeNode<V> set(char b, CharTreeNode<V> n) { if (next != null && this.b != b) { ArrayCharTreeNode<V> node = new ArrayCharTreeNode<V>(Math.max(this.b, b)); node.set(this.b, next); node.set(b, n); return node; } else if (this.b == b) { next = n; return this; } else { this.b = b; next = n; return this; } }
@Override public CharTreeNode<V> set(char b, CharTreeNode<V> node) { increase(b + 1); nodes[b] = node; return this; }
@Override public CharTreeNode<V> append(char b) { increase(b + 1); if (nodes[b] == null) nodes[b] = new SingleCharTreeNode<V>(); return this; }
@Override public CharTreeNode<V> append(char b) { increase(b + 1); if (nodes[b] == null) nodes[b] = new SingleCharTreeNode<V>(); return this; }
@Override public CharTreeNode<V> set(char b, CharTreeNode<V> node) { increase(b + 1); nodes[b] = node; return this; }