in scala-repl/src/main/scala/spark/ztools.sc [54:75]
def split(key: String): Array[String] = {
var n = 0
var j = 0
for (i <- 0 until key.length) {
if (key.charAt(i) == '.') n += 1
}
val k = new Array[String](n + 1)
val sb = new mutable.StringBuilder(k.length)
for (i <- 0 until key.length) {
val ch = key.charAt(i)
if (ch == '.') {
k({
j += 1;
j - 1
}) = sb.toString
sb.setLength(0)
}
else sb.append(ch)
}
k(j) = sb.toString
k
}