• 数组集合区别


    1.ArrayList  是最常用的List实现类,内部是通过数组实现的,它允许对元素进行快速随机访问。适合随机查找和遍历,不适合插入和删除。

    2.Vector  与ArrayList一样,不同的是它支持线程的同步,即某一时刻只有一个线程能够写Vector,避免多线程同时写而引起的不一致性,但实现同步需要很高的花费,因此,访问它比访问ArrayList慢。Vector提供indexOf(obj, start)接口,ArrayList没有。Vector属于线程安全级别的,线程安全需要更大的系统开销。

    3.LinkedList 是用链表结构存储数据的,很适合数据的动态插入和删除,随机访问和遍历速度比较慢。还提供了List接口中没有定义的方法,专门用于操作表头和表尾元素,可以当作堆栈、队列和双向队列使用。

    4.HashMap  hastmap是一个接口 是map接口的子接口,是将键映射到值的对象,其中键和值都是对象,并且不能包含重复键,但可以包含重复值。HashMap允许null key和null value,而hashtable不允许。HashMap不是线程安全的。HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。HashMap中hash数组的默认大小是16,而且一定是2的指数。HashMap实现的是Map接口。

    5.HashTable  HashTable是线程安全的一个Collection。HashTable中hash数组默认大小是11,增加的方式是 old*2+1。而HashTable实现的是Set接口。

    6.List  元素有放入顺序,元素可重复。List接口有三个实现类:LinkedList,ArrayList,Vector。

    7.Map  元素按键值对存储,无放入顺序,键不可重复,值可以重复。Map接口有三个实现类:HashMap,HashTable,LinkeHashMap。

    8.Set  元素无放入顺序,元素不可重复。

  • 相关阅读:
    iframe自适应高度的多种方法
    jquery 限制上传文件的类型和大小
    20200303 pandas
    20200306 Linux基础
    20200305 VMware虚拟机安装及centOS
    20200310 CMDB基础设计
    20200407 算法与数据结构
    20200403 MongoDB操作以及pyMongo
    20200402 MongoDB安装及简介
    20200401 docker部署与mysql主从搭建django读写分离
  • 原文地址:https://www.cnblogs.com/lvk618/p/4093421.html
Copyright © 2020-2023  润新知