首页 课程 师资 教程 报名

新手Java入门到精通,内涵基础java教程视频

  • 2019-11-15 11:20:26
  • 1845次 动力节点



  1.集合


  1.1.什么是集合


  存储对象的容器,面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,存储对象,集合是存储对象最常用的一种方式。


  集合的出现就是为了持有对象。集合中可以存储任意类型的对象,而且长度可变。在程序中有可能无法预先知道需要多少个对象,那么用数组来装对象的话,长度不好定义,而集合解决了这样的问题。


  1.2.集合和数组的区别


  数组和集合类都是容器


  数组长度是固定的,集合长度是可变的。数组中可以存储基本数据类型,集合只能存储对象数组中存储数据类型是单一的,集合中可以存储任意类型的对象。


  集合类的特点


  用于存储对象,长度是可变的,可以存储不同类型的对象。


  1.2.1.数组的缺点


  存储类型单一的数据容器,操作复杂(数组一旦声明好不可变)CRUD


  1.3.集合的分类


  集合做什么


  1:将对象添加到集合


  2:从集合中删除对象


  3:从集合中查找一个对象


  4:从集合中修改一个对象就是增删改查


  注意:集合和数组中存放的都是对象的引用而非对象本身


  Java工程师对不同的容器进行了定义,虽然容器不同,但是还是有一些共性可以抽取最后抽取了一个顶层接口,那么就形成了一个集合框架。如何学习呢?当然是从顶层学起,顶层里边具有最共性,最基本的行为。具体的使用,就要选择具体的容器了。为什么?因为不断向上抽取的东西有可能是不能创建对象的.抽象的可能性很大,并且子类对象的方法更多一些.所以是看顶层,创建底层。那么集合的顶层是什么呢叫做Collection


  集合框架体系

image.png

  ---|Collection:单列集合


  ---|List:有存储顺序,可重复


  ---|ArrayList:数组实现,查找快,增删慢


  由于是数组实现,在增和删的时候会牵扯到数组


  增容,以及拷贝元素.所以慢。数组是可以直接


  按索引查找,所以查找时较快


  ---|LinkedList:链表实现,增删快,查找慢


  由于链表实现,增加时只要让前一个元素记住自


  己就可以,删除时让前一个元素记住后一个元


  素,后一个元素记住前一个元素.这样的增删效


  率较高但查询时需要一个一个的遍历,所以效率


  较低


  ---|Vector:和ArrayList原理相同,但线程安全,效率略低


  和ArrayList实现方式相同,但考虑了线程安全问


  题,所以效率略低


  ---|Set:无存储顺序,不可重复


  ---|HashSet


  ---|TreeSet


  ---|LinkedHashSet


  ---|Map:键值对


  ---|HashMap


  ---|TreeMap


  ---|HashTable


  ---|LinkedHashMap


  为什么出现这么多集合容器,因为每一个容器对数据的存储方式不同,这种存储方式称之为数据结构(datastructure)


  注意集合和数组中存放的都是对象的引用。


  1.1.什么时候该使用什么样的集合


  Collection


  我们需要保存若干个对象的时候使用集合。


  List


  如果我们需要保留存储顺序,并且保留重复元素,使用List.


  如果查询较多,那么使用ArrayList


  如果存取较多,那么使用LinkedList


  如果需要线程安全,那么使用Vector


  Set


  如果我们不需要保留存储顺序,并且需要去掉重复元素,使用Set.


  如果我们需要将元素排序,那么使用TreeSet


  如果我们不需要排序,使用HashSet,HashSet比


  TreeSet效率高.


  如果我们需要保留存储顺序,又要过滤重复元素,那么使用LinkedHashSet


     以上就是动力节点java学院小编针对“新手Java入门到精通,内涵基础java教程视频”的内容进行的回答,希望对大家有所帮助,如果对于学习Java的学习计划,怎么学才有效率,或者学完如果找工作的问题,请在线咨询,有专业老师随时为你服务。


零基础自学java教程推荐


最新java视频教程免费下载(从入门到精通):http://www.bjpowernode.com/video.html


零基础java自学教程http://www.bjpowernode.com/tutorial_java_se/


相关推荐


零基础学Java编程,这些内容你一定要知道


学习Java编程了解一些免费Java开发工具


初学者学Java编程真的很难?


新手自学Java编程需要多长时间呢


学习Java编程可以做什么



选你想看

你适合学Java吗?4大专业测评方法

代码逻辑 吸收能力 技术学习能力 综合素质

先测评确定适合在学习

在线申请免费测试名额
价值1998元实验班免费学
姓名
手机
提交