fork(1) download
  1. import java.util.ArrayList;
  2. import java.util.Arrays;
  3. import java.util.Iterator;
  4. import java.util.LinkedList;
  5. import java.util.Random;
  6.  
  7. public class Main {
  8.  
  9. public static void main(String[] args) throws Exception {
  10.  
  11. Integer[] array = new Integer[100000];
  12. Random random = new Random();
  13.  
  14. for (int i = 0; i < array.length; i++)
  15. array[i] = random.nextInt(Integer.MAX_VALUE);
  16.  
  17. LinkedList<Integer> linkedList = new LinkedList<Integer>(Arrays.asList(array));
  18. ArrayList<Integer> arrayList = new ArrayList<Integer>(Arrays.asList(array));
  19.  
  20. long before = System.nanoTime();
  21.  
  22. for (Iterator<Integer> it = linkedList.iterator(); it.hasNext(); )
  23. if (it.next() > Integer.MAX_VALUE / 2)
  24. it.remove();
  25.  
  26. System.out.println((System.nanoTime() - before) / 1000);
  27.  
  28. before = System.nanoTime();
  29.  
  30. for (int i = 0; i < arrayList.size(); i++)
  31. if (arrayList.get(i) > Integer.MAX_VALUE / 2)
  32. arrayList.remove(i--);
  33.  
  34. System.out.println((System.nanoTime() - before) / 1000);
  35.  
  36. System.out.println(arrayList.equals(linkedList));
  37. }
  38.  
  39.  
  40. private static void linearInsertion(Integer[] intArray, ArrayList<Integer> list) {
  41. for (int integer : intArray) {
  42. for (int i = 0; i < list.size(); i++) {
  43. if (integer > list.get(i)) {
  44. list.add(i, integer);
  45. break;
  46. }
  47. }
  48. }
  49. }
  50. }
  51.  
Success #stdin #stdout 2.26s 245824KB
stdin
Standard input is empty
stdout
6999
2184166
true