public V findEnds(String s) { CharTreeNode<V> node = root; int length = s.length(); for (int i = 0; i < length && node != null && node.value == null; i++) { node = node.next(s.charAt(length - i - 1)); } return node == null ? null : node.value; }
public V findStarts(String s) { CharTreeNode<V> node = root; int length = s.length(); for (int i = 0; i < length && node != null && node.value == null; i++) { node = node.next(s.charAt(i)); } return node == null ? null : node.value; }
public V get(String s) { CharTreeNode<V> node = root; int length = s.length(); for (int i = 0; i < length && node != null; i++) { node = node.next(s.charAt(i)); } return node == null ? null : node.value; }
public List<V> findAllEnds(String s) { CharTreeNode<V> node = root; int length = s.length(); List<V> list = new ArrayList<V>(); for (int i = 0; i < length && node != null; i++) { node = node.next(s.charAt(length - i - 1)); addIfNotNull(list, node); } return list; }
public List<V> findAllEnds(char[] chars, int offset, int length) { CharTreeNode<V> node = root; int l = chars.length - 1; List<V> list = new ArrayList<V>(); for (int i = offset; i < offset + length && node != null; i++) { node = node.next(chars[l - i]); addIfNotNull(list, node); } return list; }
public V findEnds(String s) { CharTreeNode<V> node = root; int length = s.length(); for (int i = 0; i < length && node != null && node.value == null; i++) { node = node.next(s.charAt(length - i - 1)); } return node == null ? null : node.value; }
public V findEnds(char[] chars, int offset, int length) { CharTreeNode<V> node = root; int l = chars.length - 1; for (int i = offset; i < offset + length && node != null && node.value == null; i++) { node = node.next(chars[l - i]); } return node == null ? null : node.value; }
public List<V> findAllEnds(char[] chars, int offset, int length) { CharTreeNode<V> node = root; int l = chars.length - 1; List<V> list = new ArrayList<V>(); for (int i = offset; i < offset + length && node != null; i++) { node = node.next(chars[l - i]); addIfNotNull(list, node); } return list; }
public List<V> findAllStarts(String s) { CharTreeNode<V> node = root; List<V> list = new ArrayList<V>(); int length = s.length(); for (int i = 0; i < length && node != null; i++) { node = node.next(s.charAt(i)); addIfNotNull(list, node); } return list; }
public V get(char[] chars, int offset, int length) { CharTreeNode<V> node = root; for (int i = offset; i < offset + length && node != null; i++) { node = node.next(chars[i]); } return node == null ? null : node.value; }
public List<V> findAllStarts(String s) { CharTreeNode<V> node = root; List<V> list = new ArrayList<V>(); int length = s.length(); for (int i = 0; i < length && node != null; i++) { node = node.next(s.charAt(i)); addIfNotNull(list, node); } return list; }
public List<V> findAllStarts(char[] chars, int offset, int length) { CharTreeNode<V> node = root; List<V> list = new ArrayList<V>(); for (int i = offset; i < offset + length && node != null; i++) { node = node.next(chars[i]); addIfNotNull(list, node); } return list; }
public V findStarts(String s) { CharTreeNode<V> node = root; int length = s.length(); for (int i = 0; i < length && node != null && node.value == null; i++) { node = node.next(s.charAt(i)); } return node == null ? null : node.value; }
public V findStarts(char[] chars, int offset, int length) { CharTreeNode<V> node = root; for (int i = offset; i < offset + length && node != null && node.value == null; i++) { node = node.next(chars[i]); } return node == null ? null : node.value; }
public V get(String s) { CharTreeNode<V> node = root; int length = s.length(); for (int i = 0; i < length && node != null; i++) { node = node.next(s.charAt(i)); } return node == null ? null : node.value; }
public V get(char[] chars, int offset, int length) { CharTreeNode<V> node = root; for (int i = offset; i < offset + length && node != null; i++) { node = node.next(chars[i]); } return node == null ? null : node.value; }
public V findEnds(char[] chars, int offset, int length) { CharTreeNode<V> node = root; int l = chars.length - 1; for (int i = offset; i < offset + length && node != null && node.value == null; i++) { node = node.next(chars[l - i]); } return node == null ? null : node.value; }
public List<V> findAllStarts(char[] chars, int offset, int length) { CharTreeNode<V> node = root; List<V> list = new ArrayList<V>(); for (int i = offset; i < offset + length && node != null; i++) { node = node.next(chars[i]); addIfNotNull(list, node); } return list; }
public List<V> findAllEnds(String s) { CharTreeNode<V> node = root; int length = s.length(); List<V> list = new ArrayList<V>(); for (int i = 0; i < length && node != null; i++) { node = node.next(s.charAt(length - i - 1)); addIfNotNull(list, node); } return list; }
public V findStarts(char[] chars, int offset, int length) { CharTreeNode<V> node = root; for (int i = offset; i < offset + length && node != null && node.value == null; i++) { node = node.next(chars[i]); } return node == null ? null : node.value; }