一、数组和集合的区别:

  数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型);

  集合可以存储和操作数目不固定的一组数据。 所有的JAVA集合都位于 java.util包中! JAVA集合只能存放引用类型的的数据,不能存放基本数据类型。

  数组和集合相比唯一的有点就是速度快。

二、Java集合分类:

  1.Collection(接口):派生的两个子接口:List和Set

    List(列表):有序、可重复元素,可以插入多个null元素。实现List接口的常用类有LinkedList,ArrayList,Vector和Stack。

    Set(集):无序、不可重复元素,最多有一个null元素。

  2.Map(映射):不是collection的子接口或者实现类,Map是一个接口。Map 接口最流行的几个实现类是 HashMap、LinkedHashMap、Hashtable 和 TreeMap。

三、几个重要区别

  1. List、Set和Map的区别

     List:有序、可重复元素,可以插入多个null元素。

     Set:无序、不可重复元素,最多有一个null元素。

     Map:集合中的每一个元素包含一对键对象和值对象,集合中没有重复的键对象,值对象可以重复。它的有些实现类能对集合中的键对象进行排序。

  2.ArrayList和LinkedList的区别?  

      (1). ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。   

    (2). 对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。   

    (3). 对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。

   3.HashTable和HashMap的区别?

    (1). HashTable:继承自Dictionary类,不接受为null的键值(key)和值(value),线程安全  

    (2). HashMap:继承自AbstractMap类,可接受为null的键值(key)和值(value),线程不安全   

 

    

最新文章

  1. 【兼容写法】HttpServerUtility.Execute 在等待异步操作完成时被阻止。关键词:MVC,分部视图,异步
  2. JS代码判断IE6,IE7,IE8,IE9!
  3. HashMap遍历的两种方式
  4. WordPress用户注册无法发送密码邮件怎么回事?
  5. Python解析器源码加密系列之(一):标准c的tmpfile()、tmpfile_s()生成的临时文件究竟放在哪里了?
  6. POJ 2492 并查集扩展(判断同性恋问题)
  7. C++-bool的值
  8. Android中View绘制流程以及invalidate()等相关方法分析(转载的文章,出处在正文已表明)
  9. perl5 第八章 子程序
  10. hibernate 单元测试 5.2
  11. iOS10 CAAnimationDelegate的适配
  12. 用ant打包可运行的jar文件 (将第三方jar包放进你自己的jar包)
  13. H5页面基于接口实现数据交互
  14. JAVA_SE基础——52.匿名内部类
  15. mysql:mysql is neither service nor target!?(suse12 sp2 )
  16. latex之行内公式与行间公式
  17. 《Gradle权威指南》--Gradle插件
  18. mybatis batchinsert
  19. bootstrap 警告框单个删除
  20. 制作windows服务

热门文章

  1. leetcode — search-for-a-range
  2. MFC编程之数值调节按钮
  3. 【SqlServer系列】数据库三大范式
  4. Go基础系列:函数(2)——回调函数和闭包
  5. YARN集群的mapreduce测试(一)
  6. ife2018 零基础学院 day 3
  7. 【转载】SQL语句用一个表的数据更新另一个表
  8. Chrome插件开发,美化网页上的文件列表。chrome-extension,content-scripts
  9. 6.7 使用show profile 进行sql分析
  10. jdk的配置(适用于win7、win8、win10)