CopyOnWriteArrayList
āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻ¸āĻāĻā§āĻ°āĻšā§ āĻ¯ā§āĻ , āĻ¸ā§āĻ , āĻ āĻĒāĻ¸āĻžāĻ°āĻŖā§āĻ° āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ˛āĻžāĻĒāĻā§āĻ˛āĻŋ āĻ āĻā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§āĻŖ āĻ ā§āĻ¯āĻžāĻ°ā§āĻ° āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĨ¤ āĻāĻāĻŋ āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°ā§ āĻ¯ā§ āĻāĻŽāĻ°āĻž ConcurrentModificationException āĻ§āĻ°āĻŋ āĻ¨āĻž āĨ¤
āĻļā§āĻ§ā§ āĻŽāĻ¨ā§ āĻ°āĻžāĻāĻŦā§āĻ¨ āĻ¯ā§ āĻāĻāĻāĻŋ āĻ ā§āĻ¯āĻžāĻ°ā§ āĻ āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻ -āĻĨā§āĻ°ā§āĻĄ-āĻ¨āĻŋāĻ°āĻžāĻĒāĻĻ āĻāĻĒāĻžāĻĻāĻžāĻ¨āĻā§āĻ˛āĻŋāĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°āĻā§āĻ˛āĻŋāĻ¤ā§ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻ¸āĻš āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻāĻ˛ā§āĻ˛ā§āĻāĻā§āĻ˛āĻŋ āĻ āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻ¨ā§āĻ¯ā§āĻ¨āĻ¤āĻŽ āĻ¸āĻāĻā§āĻ¯āĻ āĻ˛ā§āĻāĻžāĻ° āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ˛āĻžāĻĒā§āĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻāĻ āĻāĻžāĻ¤ā§āĻ¯āĻŧ āĻ¸āĻāĻā§āĻ°āĻšāĻā§āĻ˛āĻŋ āĻ¸āĻ°ā§āĻŦā§āĻ¤ā§āĻ¤āĻŽāĻāĻžāĻŦā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧāĨ¤
CopyOnWriteArrayList<E> āĻšāĻ˛ ArrayList-āĻāĻ° āĻāĻāĻāĻŋ āĻĨā§āĻ°ā§āĻĄ-āĻ¨āĻŋāĻ°āĻžāĻĒāĻĻ āĻ ā§āĻ¯āĻžāĻ¨āĻžāĻ˛āĻ, CopyOnWrite āĻ ā§āĻ¯āĻžāĻ˛āĻāĻ°āĻŋāĻĻāĻŽā§āĻ° āĻāĻŋāĻ¤ā§āĻ¤āĻŋāĻ¤ā§ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤ āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻāĻŦāĻ āĻāĻ¨āĻ¸ā§āĻā§āĻ°āĻžāĻā§āĻāĻ° āĻ¨ā§āĻā§ āĻŦāĻ°ā§āĻŖāĻŋāĻ¤ āĻšāĻ¯āĻŧā§āĻā§:
CopyOnWriteArrayList(E[] toCopyIn) | āĻāĻāĻāĻŋ āĻāĻ¨āĻ¸ā§āĻā§āĻ°āĻžāĻā§āĻāĻ° āĻ¯āĻž āĻāĻ¨āĻĒā§āĻ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻāĻāĻāĻŋ āĻ ā§āĻ¯āĻžāĻ°ā§ āĻ¨ā§āĻ¯āĻŧāĨ¤ |
int indexOf(E e, int āĻ¸ā§āĻāĻ) | āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻ¸ā§āĻā§ āĻĨā§āĻā§ āĻļā§āĻ°ā§ āĻāĻ°ā§ āĻĒāĻžāĻāĻ¯āĻŧāĻž āĻĒā§āĻ°āĻĨāĻŽ āĻāĻĒāĻžāĻĻāĻžāĻ¨āĻāĻŋāĻ° āĻ¸ā§āĻā§ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§āĨ¤ |
int lastIndexOf(E e, int āĻ¸ā§āĻāĻ) | āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻ¸ā§āĻā§ āĻĨā§āĻā§ āĻļā§āĻ°ā§ āĻāĻ°ā§ āĻŦāĻŋāĻĒāĻ°ā§āĻ¤ āĻ āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ā§ āĻĒāĻžāĻāĻ¯āĻŧāĻž āĻĒā§āĻ°āĻĨāĻŽ āĻāĻĒāĻžāĻĻāĻžāĻ¨āĻāĻŋāĻ° āĻ¸ā§āĻā§ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§āĨ¤ |
āĻŦā§āĻ˛āĻŋāĻ¯āĻŧāĻžāĻ¨ addIfAbsent(E e) | āĻ¸āĻāĻā§āĻ°āĻšā§ āĻ¨āĻž āĻĨāĻžāĻāĻ˛ā§ āĻāĻāĻāĻŋ āĻāĻĒāĻžāĻĻāĻžāĻ¨ āĻ¯ā§āĻ āĻāĻ°ā§āĻ¨āĨ¤ āĻāĻĒāĻžāĻĻāĻžāĻ¨ āĻ¤ā§āĻ˛āĻ¨āĻž āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻžāĻ¨ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĨ¤ |
int addAllAbsent(āĻ¸āĻāĻā§āĻ°āĻš<? āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ E> c) | āĻāĻĒāĻžāĻĻāĻžāĻ¨ āĻ¯ā§āĻ āĻāĻ°ā§āĻ¨ āĻ¯āĻĻāĻŋ āĻ¤āĻžāĻ°āĻž āĻ¸āĻāĻā§āĻ°āĻšā§ āĻ¨āĻž āĻĨāĻžāĻā§āĨ¤ āĻ¯ā§āĻ āĻāĻ°āĻž āĻāĻĒāĻžāĻĻāĻžāĻ¨ā§āĻ° āĻ¸āĻāĻā§āĻ¯āĻž āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§āĨ¤ |
ConcurrentMap āĻāĻ¨ā§āĻāĻžāĻ°āĻĢā§āĻ¸
āĻŽāĻžāĻ˛ā§āĻāĻŋāĻĨā§āĻ°ā§āĻĄāĻŋāĻ āĻāĻŦāĻ āĻ¸ā§āĻā§āĻ˛ā§āĻŦāĻŋāĻ˛āĻŋāĻāĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¸āĻš āĻšā§āĻ¯āĻžāĻļāĻŽā§āĻ¯āĻžāĻĒ āĻāĻŦāĻ āĻā§āĻ°āĻŋāĻŽā§āĻ¯āĻžāĻĒā§āĻ° āĻāĻ¨ā§āĻ¨āĻ¤ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĨ¤
ConcurrentMap<K, V> āĻšāĻ˛ āĻāĻāĻāĻŋ āĻāĻ¨ā§āĻāĻžāĻ°āĻĢā§āĻ¸ āĻ¯āĻž āĻŽāĻžāĻ¨āĻāĻŋāĻ¤ā§āĻ°āĻā§ āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻĒāĻžāĻ°āĻŽāĻžāĻŖāĻŦāĻŋāĻ āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ˛āĻžāĻĒā§āĻ° āĻ¸āĻžāĻĨā§ āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻāĻ°ā§āĨ¤
V putIfAbsent(K āĻā§, V āĻŽāĻžāĻ¨) | āĻāĻžāĻŦāĻŋ āĻ¸āĻāĻā§āĻ°āĻšā§ āĻ¨āĻž āĻĨāĻžāĻāĻ˛ā§ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻā§-āĻŽāĻžāĻ¨ āĻā§āĻĄāĻŧāĻž āĻ¯ā§āĻ āĻāĻ°ā§āĨ¤ āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻā§āĻāĻŋāĻ° āĻĒā§āĻ°ā§āĻŦāĻŦāĻ°ā§āĻ¤ā§ āĻŽāĻžāĻ¨ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§āĨ¤ |
āĻŦā§āĻ˛āĻŋāĻ¯āĻŧāĻžāĻ¨ āĻ°āĻŋāĻŽā§āĻ (āĻŦāĻ¸ā§āĻ¤ā§ āĻā§, āĻŦāĻ¸ā§āĻ¤ā§āĻ° āĻŽāĻžāĻ¨) | āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻā§āĻāĻŋ āĻŽāĻžāĻ¨āĻāĻŋāĻ¤ā§āĻ°ā§ āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻŽāĻžāĻ¨ā§āĻ° āĻ¸āĻžāĻĨā§ āĻŽā§āĻ˛ā§ āĻ¤āĻŦā§āĻ āĻā§-āĻŽāĻžāĻ¨ āĻā§āĻĄāĻŧāĻž āĻ¸āĻ°āĻŋāĻ¯āĻŧā§ āĻĻā§āĻ¯āĻŧā§ˇ āĻ¯āĻĻāĻŋ āĻāĻĒāĻžāĻĻāĻžāĻ¨ āĻ¸āĻĢāĻ˛āĻāĻžāĻŦā§ āĻ¸āĻ°āĻžāĻ¨ā§ āĻšāĻ¯āĻŧ āĻ¤āĻžāĻšāĻ˛ā§ āĻ¸āĻ¤ā§āĻ¯ āĻĻā§āĻāĻžāĻ¯āĻŧāĨ¤ |
āĻŦā§āĻ˛āĻŋāĻ¯āĻŧāĻžāĻ¨ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ (āĻā§ āĻā§, āĻāĻŋ āĻĒā§āĻ°āĻžāĻ¤āĻ¨ āĻŽāĻžāĻ¨, āĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻŽāĻžāĻ¨) | āĻĒā§āĻ°āĻžāĻ¨ā§ āĻŽāĻžāĻ¨āĻāĻŋ āĻŽāĻžāĻ¨āĻāĻŋāĻ¤ā§āĻ°ā§ āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻŽāĻžāĻ¨ā§āĻ° āĻ¸āĻžāĻĨā§ āĻŽā§āĻ˛ā§ āĻ¤āĻŦā§āĻ āĻā§ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¨āĻ¤ā§āĻ¨ āĻŽāĻžāĻ¨āĻāĻŋāĻā§ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°ā§ā§ˇ āĻŽāĻžāĻ¨āĻāĻŋ āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻĻāĻŋāĻ¯āĻŧā§ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻŋāĻ¤ āĻšāĻ˛ā§ āĻ¸āĻ¤ā§āĻ¯ āĻĻā§āĻāĻžāĻ¯āĻŧāĨ¤ |
V āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ (K āĻā§, V āĻŽāĻžāĻ¨) | āĻāĻāĻāĻŋ āĻĒā§āĻ°āĻžāĻ¨ā§ āĻŽāĻžāĻ¨āĻā§ āĻā§ āĻĻā§āĻŦāĻžāĻ°āĻž āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻĻāĻŋāĻ¯āĻŧā§ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°ā§ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¯āĻĻāĻŋ āĻā§ āĻā§āĻ¨ā§ āĻŽāĻžāĻ¨ā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¯ā§āĻā§āĻ¤ āĻĨāĻžāĻā§āĨ¤ āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻā§āĻāĻŋāĻ° āĻĒā§āĻ°ā§āĻŦāĻŦāĻ°ā§āĻ¤ā§ āĻŽāĻžāĻ¨ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§āĨ¤ |
ConcurrentHashMap<K, V> - āĻāĻāĻžāĻ¨ā§ āĻĄā§āĻāĻž āĻ¸ā§āĻāĻŽā§āĻ¨ā§āĻ āĻāĻāĻžāĻ°ā§ āĻāĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§, āĻ¯āĻž āĻā§ āĻšā§āĻ¯āĻžāĻļāĻā§āĻ˛āĻŋāĻ¤ā§ āĻŦāĻŋāĻāĻā§āĻ¤āĨ¤ āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻ¯āĻĻāĻŋ āĻāĻĒāĻ¨āĻžāĻ° āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ā§āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§ āĻ¸ā§āĻāĻŽā§āĻ¨ā§āĻāĻāĻŋ āĻ˛āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧ, āĻŦāĻ¸ā§āĻ¤ā§āĻāĻŋ āĻ¨āĻ¯āĻŧāĨ¤ Iterators ConcurrentModificationException āĻ¨āĻŋāĻā§āĻˇā§āĻĒ āĻāĻ°ā§ āĻ¨āĻžāĻāĻŦāĻ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻ¸āĻŽāĻ¯āĻŧā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĄā§āĻāĻž āĻāĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°ā§āĨ¤
ConcurrentHashMap āĻāĻ° āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨
ConcurrentHashMap<K, V> - āĻāĻāĻžāĻ¨ā§ āĻĄāĻžāĻāĻž āĻ¸ā§āĻāĻŽā§āĻ¨ā§āĻ āĻāĻāĻžāĻ°ā§ āĻāĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§, āĻā§ āĻšā§āĻ¯āĻžāĻļ āĻĻā§āĻŦāĻžāĻ°āĻž āĻŦāĻŋāĻāĻā§āĻ¤āĨ¤ āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻĄā§āĻāĻž āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻ¸ā§āĻāĻŽā§āĻ¨ā§āĻ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ˛āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧ, āĻāĻāĻāĻŋ āĻŦāĻ¸ā§āĻ¤ā§ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¨āĻ¯āĻŧāĨ¤ āĻāĻĒāĻ°āĻ¨ā§āĻ¤ā§, āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋāĻāĻžāĻ°ā§āĻ°āĻž āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻ¸āĻŽāĻ¯āĻŧā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĄā§āĻāĻž āĻāĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°ā§ āĻāĻŦāĻ ConcurrentModificationException āĻ¨āĻŋāĻā§āĻˇā§āĻĒ āĻāĻ°ā§ āĻ¨āĻž āĨ¤
ConcurrentNavigableMap<K,V> - NavigableMap āĻāĻ¨ā§āĻāĻžāĻ°āĻĢā§āĻ¸ āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻāĻ°ā§ āĻāĻŦāĻ āĻāĻāĻāĻŋ ConcurrentNavigableMap āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§ āĨ¤ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋāĻāĻžāĻ°ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¨āĻŋāĻ°āĻžāĻĒāĻĻ āĻāĻŦāĻ ConcurrentModificationException āĻ¨āĻŋāĻā§āĻˇā§āĻĒ āĻāĻ°āĻŦā§āĻ¨ āĻ¨āĻž āĨ¤
ConcurrentSkipListMap<K, V> āĻšāĻ˛ āĻŽāĻžāĻ˛ā§āĻāĻŋāĻĨā§āĻ°ā§āĻĄāĻŋāĻāĻ¯āĻŧā§āĻ° āĻāĻ¨ā§āĻ¯ āĻā§āĻ°āĻŋāĻŽā§āĻ¯āĻžāĻĒā§āĻ° āĻāĻāĻāĻŋ āĻ ā§āĻ¯āĻžāĻ¨āĻžāĻ˛āĻāĻĄā§āĻāĻž āĻā§ āĻĻā§āĻŦāĻžāĻ°āĻž āĻŦāĻžāĻāĻžāĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ ConsKey,get,put,remove,āĻāĻŦāĻ āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ āĻ¨ā§āĻ°ā§āĻĒ āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ˛āĻžāĻĒāĻā§āĻ˛āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻĄāĻŧ āĻ˛āĻ(N) āĻāĻ°ā§āĻŽāĻā§āĻˇāĻŽāĻ¤āĻž āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§ˇ
ConcurrentSkipListSet<E> āĻšāĻ˛ ConcurrentSkipListMap- āĻāĻ° āĻāĻĒāĻ° āĻāĻŋāĻ¤ā§āĻ¤āĻŋ āĻāĻ°ā§ āĻ¸ā§āĻ āĻāĻ¨ā§āĻāĻžāĻ°āĻĢā§āĻ¸ā§āĻ° āĻāĻāĻāĻŋ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨āĨ¤