Java—java编程集合的比较
来源:互联网 发布:h3cne模拟考试软件 编辑:程序博客网 时间:2024/05/26 12:00
1.Lisk集合类 与 Map集合类的区别:
List没有键值,Map有键值。
键值为了唯一标识事物而单独添加的属性
一定不要用事物本身的属性来做键值
2.ArrayList和Vector的区别与HashMap和Hashtable的区别相同
他们是:
ArrayList和HashMap都是线程异步的,所以特点是:效率高,但是安全性低
Vector和Hashtable都是线程同步的,所以特点是:效率低,但是安全性高
arrayList和LinkList的特性
ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差,
而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。
hashmap与hashtable的区别
1.Hashtable是Dictionary的子类,HashMap是Map接口的一个实现类;
2.而HashMap中的方法在缺省情况下是非同步的,Hashtable中的方法是同步的。即是说,在多线程应用程序中,不用专门的操作就安全地可以使用Hashtable了;而对于HashMap,则需要额外的同步机制。但HashMap的同步问题可通过Collections的一个静态方法得到解决:
Map Collections.synchronizedMap(Map m)
这个方法返回一个同步的Map,这个Map封装了底层的HashMap的所有方法,使得底层的HashMap即使是在多线程的环境中也是安全的。
3.在HashMap中,null可以作为键,这样的键只有一个;可以有一个或多个键所对应的值为null。当get()方法返回null值时,即可以表示HashMap中没有该键,也可以表示该键所对应的值为null。因此,在HashMap中不能由get()方法来判断HashMap中是否存在某个键,而应该用containsKey()方法来判断。
4.其底层的实现机制不同,hashmap的访问速度要快于hashtable,因为它不需要进行同步检验,建议在非多线程环境中使用hashmap代替hashtable .
List没有键值,Map有键值。
键值为了唯一标识事物而单独添加的属性
一定不要用事物本身的属性来做键值
2.ArrayList和Vector的区别与HashMap和Hashtable的区别相同
他们是:
ArrayList和HashMap都是线程异步的,所以特点是:效率高,但是安全性低
Vector和Hashtable都是线程同步的,所以特点是:效率低,但是安全性高
arrayList和LinkList的特性
ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差,
而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。
hashmap与hashtable的区别
1.Hashtable是Dictionary的子类,HashMap是Map接口的一个实现类;
2.而HashMap中的方法在缺省情况下是非同步的,Hashtable中的方法是同步的。即是说,在多线程应用程序中,不用专门的操作就安全地可以使用Hashtable了;而对于HashMap,则需要额外的同步机制。但HashMap的同步问题可通过Collections的一个静态方法得到解决:
Map Collections.synchronizedMap(Map m)
这个方法返回一个同步的Map,这个Map封装了底层的HashMap的所有方法,使得底层的HashMap即使是在多线程的环境中也是安全的。
3.在HashMap中,null可以作为键,这样的键只有一个;可以有一个或多个键所对应的值为null。当get()方法返回null值时,即可以表示HashMap中没有该键,也可以表示该键所对应的值为null。因此,在HashMap中不能由get()方法来判断HashMap中是否存在某个键,而应该用containsKey()方法来判断。
4.其底层的实现机制不同,hashmap的访问速度要快于hashtable,因为它不需要进行同步检验,建议在非多线程环境中使用hashmap代替hashtable .
0 0
- Java—java编程集合的比较
- Java集合框架比较
- Java集合框架比较
- java-----集合比较器
- Java常用集合比较
- Java集合框架比较
- java 集合比较
- Java常用集合比较
- java 集合比较
- java 集合优缺点比较
- Java List集合比较
- java 集合比较 排序
- Java集合比较整理
- java集合——树集(TreeSet)+对象的比较
- JAVA进阶4.10——集合类的比较
- java 各种集合类的比较
- Java集合的用法和比较
- java中List集合的比较
- Java—final,finally,finalize的区别
- 利用Editplus,手动编写第一个Servlet
- Java—java中单例模式
- 微信分享开发指南
- TMS320F28335项目开发记录11_28335之存储系统
- Java—java编程集合的比较
- Ubuntu下安装jdk,修改jdk
- SSL,TSL
- localtunnel.me 原理流程浅析
- C语言中,为什么字符串可以赋值给字符指针变量
- matlab2010a(7.10) 识别 VS2010编辑器
- 汉诺塔(河内塔)
- 71道经典Android面试题
- Android—Thread与Service的区别