[Java] ArrayDeque

ArrayDeque is implemented by array. When capacity increased, it will create a new array and copy the old one to new.

import java.util.*;
import java.lang.reflect.*;

public class ArrayDequePerformance {
  public static void main(String[] args) {
    try {
      long s1 = now();
      ArrayDeque<Integer> q = new ArrayDeque<>();
      for (int i = 0; i < 16777215; ++i) {
        q.add(1);
      }
      long e1 = now();
      System.out.println(e1 - s1);

      Field f = q.getClass().getDeclaredField("elements");
      f.setAccessible (true);
      Object[] ar = (Object[])f.get(q);
      System.out.println(ar.length);

      long s2 = now();
      q.add(1);
      long e2 = now();
      System.out.println(e2 - s2);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
  public static long now() {
    return System.currentTimeMillis();
  }
}
131
16777216
113

Recommended Posts

[Java] ArrayDeque
Java
Java
Apprendre Java (0)
Étudier Java ―― 3
[Java] tableau
Java protégé
[Java] Annotation
Module [Java]
Tableau Java
Étudier Java ―― 9
Java scratch scratch
Astuces Java, astuces
Méthodes Java
Méthode Java
java (constructeur)
Tableau Java
java (remplacement)
java (méthode)
Journée Java 2018
Chaîne Java
java (tableau)
Java statique
Sérialisation Java
java débutant 4
JAVA payé
Étudier Java ―― 4
Java (ensemble)
tri shell java
[Java] compareTo
Étudier Java -5
java réfléchissant 获 获 举
java (interface)
Mémorandum Java
Tableau Java
Étudier Java ―― 1
[Java] Array
[Java] Polymorphisme
Étudier Java # 0
Revue Java
framework java
Fonctionnalités Java
[Java] Héritage
FastScanner Java
Fonctionnalités Java
java débutant 3
Mémo Java
java (encapsulation)
Héritage Java
[Java] Surcharge
Les bases de Java
Décompiler Java
[Java] Annotation
note java
java débutant
Java (add2)
JAVA (Carte)
interface [java]
Collection Java9
Les bases de Java