理解ArrayList&&LinkedList&&HashMap

温故而知新,回牟一看,大不同。

ArrayList:

      线程不安全,不同步, 元素是有顺序,列表允许重复的元素,可以储存null值。

      ArrayList的默认大小是 10 个元素。

      ArrayList扩容增量:原容量的0.5倍+1,如 ArrayList的容量为10,一次扩容后是容量为16;

     ArrayList基于动态数组的实现,随机访问元素快,但是在中间插入和移除元素时较慢

Vector:

    Vector的方法都是同步的(Synchronized),是线程安全的(thread-safe)

    Vector初始化默认值为10,自增为2n

LinkedList:

       LinkedList基于链表实现,在List中间进行插入和删除的代价较低,提供了优化的顺序访问。LinkedList在随机访问方面相对比较慢。

HashMap:

    线程不安全、不同步的。存储是键值对,无序的

    为了避免进程不安全,在并发的情况下,我们可以使用ConcurrentHashMap来代替HashMap

static Map map = new ConcurrentHashMap<>();

你可能感兴趣的