RFR 8037106: Optimize Arrays.asList(...).forEach (original) (raw)
Paul Sandoz paul.sandoz at oracle.com
Fri Mar 14 16:10:48 UTC 2014
- Previous message: RFR 8037106: Optimize Arrays.asList(...).forEach
- Next message: RFR 8037106: Optimize Arrays.asList(...).forEach
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Mar 14, 2014, at 4:46 PM, Martin Buchholz <martinrb at 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.
- Previous message: RFR 8037106: Optimize Arrays.asList(...).forEach
- Next message: RFR 8037106: Optimize Arrays.asList(...).forEach
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]