zoukankan      html  css  js  c++  java
  • 数组集合区别

    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  元素无放入顺序,元素不可重复。

  • 相关阅读:
    @EnableTransactionManagement的使用
    Spring事务管理之几种方式实现事务
    instr和like的使用区别
    linux查看服务安装目录redis
    struts2的结果类型
    ajax 的 get 方式
    数据库隔离级别
    数据库隔离级别
    input from 表单提交 使用 属性 disabled="disabled" 后台接收不到name="username"的值
    Path Sum
  • 原文地址:https://www.cnblogs.com/lvk618/p/4093421.html
Copyright © 2011-2022 走看看