search
trait Collection[A] {
def search[B >: A](e: B): SearchResult
def search[B >: A](e: B, i: Int, j: Int): SearchResult
}
search は、このコレクションから要素 e に等しい(==)最初の要素を探索し、見つかった位置のインデックスを含む Found を返します。
もし e がコレクションで見つからなければ、その要素を挿入できるインデックスを含んだ InsertionPoint を返します。
探索は、区間 [i, j) に制限できます。