On Mar 14, 2014, at 4:46 PM, Martin Buchholz <marti...@google.com> wrote:

> Looks good to me.
> 

Thanks.


> I'm willing to believe for-loop over array is as efficient as fortran-style 
> loop
> 
> +            for (E e : a) {
> +                action.accept(e);
> +            }
> 

Yeah, i previously went through a whole bunch of code replacing such 
fortran-style loops with 'foreach' style based on automated code analysis.


> but then you could change the other loops as well, e.g. in indexOf
> 
> +            final int size = a.length;
> +            for (int i = 0; i < size; i++) {
> 
> I like to write this using the idiom
> 
> for (int i = 0, size = ...; i < size; i++)
> 

I copied over code from ArrayList, but presumably the following is sufficient:

        @Override
        public void replaceAll(UnaryOperator<E> operator) {
            Objects.requireNonNull(operator);
            final E[] a = this.a;
            for (int i = 0; i < a.length; i++) {
                a[i] = operator.apply(a[i]);
            }
        }

? no need for a local size variable.

I changed my local patch to do the above.

Paul.

Reply via email to