首页 / JAVA / java基础知识---集合
java基础知识---集合
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java基础知识---集合,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1758字,纯文字阅读大概需要3分钟。
内容图文
![java基础知识---集合](/upload/InfoBanner/zyjiaocheng/1085/b02ea0eb97274518bc568646b35307dc.jpg)
Collections 是个 java .util 下的类,它包含有各种有关 集合 操作的静态方法。
Collection 是个 java .util 下的接口,它是各种 集合 结构的父接口 2. List, Set, Map 是否继承自 Collection 接口 接口?
List,Set 是 Map 不是
3.ArrayList 和 Vector 的区别。 . 的区别。
一.同步性: Vector 的大多数方法具有同步能力,所以 Vector 是线程安全的,也就是说 Vector 是同步的。 除了两个只用于串行化的方法, 没有一个 ArrayList 的方法具有同步执行的能力。 所以 ArrayList 不是线程安全的,不是同步的 。
二.执行效率:因为 Vector 是同步的,而 ArrayList 不是同步的。所以 ArrayList 的执 行效率要比 Vector 高。
三.数据增长: Vector 和 ArrayList 都支持可随需要而增长的动态数组。能够动态的增加 或减少其大小。当需要增长时,Vector 默认增长为原来一培,而 ArrayList 却是原来的一半 。 四.如果使用中没有特别规定要使用同步,就应该选中 ArrayList。选用 ArrayList 比选 用 Vertor 具有更快的速度和更高的性能。
4.为什么 ArrayList 可以代替 Vector ? .
可以使用 Collections 中提供的同步方法将 ArrayList 转换为同步的 Collections.synchronizedList(List<T> list) 这样 ArrayList 就可以替换 Vector 了。
5.ArrayList 和 LinkedList 的区别? . 的区别?
在" 集合 框架"中有两种常规的 List 实现:ArrayList 和 LinkedList。使用两种 List 实的 哪一种取决于您特定的需要。 如果要支持随机访问, 而不必在除尾部的任何位置插入或除去 元素,那么,ArrayList 提供了可选的 集合 。但如果,您要频繁的从列表的中间位置添加和 除去元素,而只要顺序的访问列表元素,那么,LinkedList 实现更好。 ArrayList 和 LinkedList 的大致区别:
1. ArrayList 是实现了基于动态数组的数据结构,LinkedList 基于链表的数据结构。使用 get 方法访问列表中的任意一个元素时(random access),它的速度要比 LinkedList 快。
2.对于随机访问 get 和 set, ArrayList 绝对优于 LinkedList, 因为 LinkedList 要移动指针。
3.对于新增和删除操作 add 和 remove,LinedList 比较占优势,因为 ArrayList 要移动数 据。
6.HashMap 和 Hashtable 的区别 .
一. 同步性:Hashtable 的大多数方法都是同步方法,所以 Hashtable 是线程安全的。 HashMap 的方法不具备同步能力,所以 HashMap 不是线程安全的。
二.执行效率: 因为 Hashtable 是同步的,所以执行效率比较底。而 HahsMap 不是同步 的,所以执行效率要比 Hashtable 执行效率快。
三. 也可以使用 Collections. synchronizedMap(Map<K,V> m)将 HashMap 转换为线程安全 的。 四.如果使用中没有特别规定要使用同步,就应该选中 HashMap。选用 HashMap 比选用 Hashtable 具有更快的速度和更高的性能。 五.值:只有 HashMap 可以让你将空值作为一个表的条目的 key 或 value . HashTable 不 可以。
原文:http://blog.csdn.net/cenfei78325747/article/details/40303545
内容总结
以上是互联网集市为您收集整理的java基础知识---集合全部内容,希望文章能够帮你解决java基础知识---集合所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。