On 12/11/14 1:41 PM, H. S. Teoh via Digitalmars-d-learn wrote:
On Thu, Dec 11, 2014 at 10:36:02AM -0800, H. S. Teoh via Digitalmars-d-learn 
wrote:
[...]
        auto mykey = myarray.byKey().front;
        myarray.remove(mykey);
[...]

Ah, I forgot that you need to check .empty on the range returned by
byKey before accessing .front. Thanks to Ali for pointing that out. :-)
In this case, though, you *could* just check myarray.empty directly
instead.

Just want to say that until recently, byKey was NOT O(1). A recent optimization caches the first used bucket, which makes it O(1).

I would recommend checking for array.empty, because that allows you to avoid keeping the byKey range in a variable.

-Steve

Reply via email to