jdk/src/share/classes/java/util/Arrays.java
changeset 23354 221bf0e3642d
parent 22954 617b9c3a2c65
child 24196 61c9885d76e2
equal deleted inserted replaced
23353:013edb90a29d 23354:221bf0e3642d
    26 package java.util;
    26 package java.util;
    27 
    27 
    28 import java.lang.reflect.Array;
    28 import java.lang.reflect.Array;
    29 import java.util.concurrent.ForkJoinPool;
    29 import java.util.concurrent.ForkJoinPool;
    30 import java.util.function.BinaryOperator;
    30 import java.util.function.BinaryOperator;
       
    31 import java.util.function.Consumer;
    31 import java.util.function.DoubleBinaryOperator;
    32 import java.util.function.DoubleBinaryOperator;
    32 import java.util.function.IntBinaryOperator;
    33 import java.util.function.IntBinaryOperator;
    33 import java.util.function.IntFunction;
    34 import java.util.function.IntFunction;
    34 import java.util.function.IntToDoubleFunction;
    35 import java.util.function.IntToDoubleFunction;
    35 import java.util.function.IntToLongFunction;
    36 import java.util.function.IntToLongFunction;
    36 import java.util.function.IntUnaryOperator;
    37 import java.util.function.IntUnaryOperator;
    37 import java.util.function.LongBinaryOperator;
    38 import java.util.function.LongBinaryOperator;
       
    39 import java.util.function.UnaryOperator;
    38 import java.util.stream.DoubleStream;
    40 import java.util.stream.DoubleStream;
    39 import java.util.stream.IntStream;
    41 import java.util.stream.IntStream;
    40 import java.util.stream.LongStream;
    42 import java.util.stream.LongStream;
    41 import java.util.stream.Stream;
    43 import java.util.stream.Stream;
    42 import java.util.stream.StreamSupport;
    44 import java.util.stream.StreamSupport;
  3846             return oldValue;
  3848             return oldValue;
  3847         }
  3849         }
  3848 
  3850 
  3849         @Override
  3851         @Override
  3850         public int indexOf(Object o) {
  3852         public int indexOf(Object o) {
  3851             if (o==null) {
  3853             E[] a = this.a;
  3852                 for (int i=0; i<a.length; i++)
  3854             if (o == null) {
  3853                     if (a[i]==null)
  3855                 for (int i = 0; i < a.length; i++)
       
  3856                     if (a[i] == null)
  3854                         return i;
  3857                         return i;
  3855             } else {
  3858             } else {
  3856                 for (int i=0; i<a.length; i++)
  3859                 for (int i = 0; i < a.length; i++)
  3857                     if (o.equals(a[i]))
  3860                     if (o.equals(a[i]))
  3858                         return i;
  3861                         return i;
  3859             }
  3862             }
  3860             return -1;
  3863             return -1;
  3861         }
  3864         }
  3866         }
  3869         }
  3867 
  3870 
  3868         @Override
  3871         @Override
  3869         public Spliterator<E> spliterator() {
  3872         public Spliterator<E> spliterator() {
  3870             return Spliterators.spliterator(a, Spliterator.ORDERED);
  3873             return Spliterators.spliterator(a, Spliterator.ORDERED);
       
  3874         }
       
  3875 
       
  3876         @Override
       
  3877         public void forEach(Consumer<? super E> action) {
       
  3878             Objects.requireNonNull(action);
       
  3879             for (E e : a) {
       
  3880                 action.accept(e);
       
  3881             }
       
  3882         }
       
  3883 
       
  3884         @Override
       
  3885         public void replaceAll(UnaryOperator<E> operator) {
       
  3886             Objects.requireNonNull(operator);
       
  3887             E[] a = this.a;
       
  3888             for (int i = 0; i < a.length; i++) {
       
  3889                 a[i] = operator.apply(a[i]);
       
  3890             }
       
  3891         }
       
  3892 
       
  3893         @Override
       
  3894         public void sort(Comparator<? super E> c) {
       
  3895             Arrays.sort(a, c);
  3871         }
  3896         }
  3872     }
  3897     }
  3873 
  3898 
  3874     /**
  3899     /**
  3875      * Returns a hash code based on the contents of the specified array.
  3900      * Returns a hash code based on the contents of the specified array.