Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.ArrayList;
- import java.util.Arrays;
- public class MyClass {
- public static ArrayList<Integer> removeAll_My(ArrayList<Integer> z, int[] ii) {
- if(ii.length==0) return z;
- ArrayList<Integer> nz = new ArrayList<Integer>();
- Arrays.sort(ii);
- int prev=0;
- for (int x = 0; x < ii.length; x++ ) {
- if(ii[x]-prev>0)
- nz.addAll(z.subList(prev,ii[x]));
- prev=ii[x]+1;
- }
- if(prev<z.size()){
- nz.addAll(z.subList(prev,z.size()));
- }
- return nz;
- }
- public static void removeAll_Ri(ArrayList<Integer> z, int[] ii) {
- z.removeIf(i -> ((i%3)==0));
- }
- public static void main(String[] args) {
- ArrayList<Integer> x = new ArrayList<Integer>();
- ArrayList<Integer> r = new ArrayList<Integer>();
- for(int i=0; i<100000; i++)
- x.add(i);
- int[] myArray;
- myArray = new int[30000];
- for(int i=0; i<30000; i++)
- myArray[i]=i*3;
- long startTime = System.nanoTime ();
- for(int i=0; i<1; i++)
- removeAll_Ri(x,myArray);
- long stopTime = System.nanoTime ();
- System.out.println("RIf:" + (stopTime - startTime ));
- x = new ArrayList<Integer>();
- for(int i=0; i<100000; i++)
- x.add(i);
- startTime = System.nanoTime ();
- for(int i=0; i<1; i++)
- r = removeAll_My(x,myArray);
- stopTime = System.nanoTime ();
- System.out.println("My :" + (stopTime - startTime ));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement