El libro Java Generics and Collections tiene esta información (páginas: 188, 211, 222, 240).
Lista implementaciones:
get add contains next remove(0) iterator.remove
ArrayList O(1) O(1) O(n) O(1) O(n) O(n)
LinkedList O(n) O(1) O(n) O(1) O(1) O(1)
CopyOnWrite-ArrayList O(1) O(n) O(n) O(1) O(n) O(n)
Set implementaciones:
add contains next notes
HashSet O(1) O(1) O(h/n) h is the table capacity
LinkedHashSet O(1) O(1) O(1)
CopyOnWriteArraySet O(n) O(n) O(1)
EnumSet O(1) O(1) O(1)
TreeSet O(log n) O(log n) O(log n)
ConcurrentSkipListSet O(log n) O(log n) O(1)
Mapa implementaciones:
get containsKey next Notes
HashMap O(1) O(1) O(h/n) h is the table capacity
LinkedHashMap O(1) O(1) O(1)
IdentityHashMap O(1) O(1) O(h/n) h is the table capacity
EnumMap O(1) O(1) O(1)
TreeMap O(log n) O(log n) O(log n)
ConcurrentHashMap O(1) O(1) O(h/n) h is the table capacity
ConcurrentSkipListMap O(log n) O(log n) O(1)
implementaciones de cola:
offer peek poll size
PriorityQueue O(log n) O(1) O(log n) O(1)
ConcurrentLinkedQueue O(1) O(1) O(1) O(n)
ArrayBlockingQueue O(1) O(1) O(1) O(1)
LinkedBlockingQueue O(1) O(1) O(1) O(1)
PriorityBlockingQueue O(log n) O(1) O(log n) O(1)
DelayQueue O(log n) O(1) O(log n) O(1)
LinkedList O(1) O(1) O(1) O(1)
ArrayDeque O(1) O(1) O(1) O(1)
LinkedBlockingDeque O(1) O(1) O(1) O(1)
La parte inferior del Javadoc para el paquete java.util contiene algunos buenos enlaces:
¿Sería útil este [punto de referencia de rendimiento] (https://github.com/ThreaT/Java-Collections-Benchmark)? – ThreaT
Aquí hay un enlace que encontré útil cuando debato algunos objetos Java muy comunes y cuánto cuestan sus operaciones usando la notación Big-O. http://objectissues.blogspot.com/2006/11/big-o-notation-and-java-constant-time.html – Nick
Aunque no es de dominio público, es excelente [Java Generics and Collections] (http: // oreilly.com/catalog/9780596527754/) por Maurice Naftalin y Philip Wadler enumera las descripciones de la información de tiempo de ejecución en sus capítulos sobre las diferentes clases de colecciones. –