ソートされたオブジェクトの配列を維持する方法はありますか?
たとえば、プロパティID、Date、Name、およびこれらのオブジェクトのコレクションを持つオブジェクトがある場合、次のようになります。
$col = array();
public function addNewObject($id, $date, $name)
{
$col[] = new Object($id, $date, $name);
//but instead of appending, it should place it by Name desc
}
getObjectsのようなものを呼び出すと、名前descによってコレクション内のアイテムが返されます。
オブジェクトを並べ替えられた順序に戻すにはいくつかの答えがあったと思いますが、効率を上げるには、私の場合の「並べ替え」変数は変更されないため、挿入時に並べ替えた方がよいと思います。
更新: コメントに基づいて、何かが追加されるたびに配列全体を再利用する必要がありますが、それは少しメモリを消費するようです...
配列は最初は常にソートされた順序であるため、配列をトラバースすることで挿入する場所を特定できます(これは効率的でしょうか、より良い方法はありますか?)。配列に新しいオブジェクトを「挿入」するにはどうすればよいでしょうか。
アレイが非常に大きくなるとは思いませんが、これを可能な限り最も効率的な方法で実装したいと思います。