JAVA语言之浅谈集合框架一、概念
小标 2018-07-19 来源 : 阅读 1098 评论 0

摘要:本文主要向大家介绍了JAVA语言之浅谈集合框架一、概念,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助。

本文主要向大家介绍了JAVA语言之浅谈集合框架一、概念,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助。

最近刚学完集合框架,想把自己的一些学习笔记与想法整理一下,所以本篇博客或许会有一些内容写的不严谨或者不正确,还请大神指出。初学者对于本篇博客只建议作为参考,欢迎留言共同学习。

 

集合定义:java集合类就是一种工具类,就像是一个容器,可以存储任意数量的对象。

 

与数组的区别:1、长度:数组的长度是固定的,集合的长度不是固定的,可以任意增减。

 2、访问方式:数组只能通过int类型下标获取元素,集合可通过任意类型映射获取对象。

 3、存储类型:数组只可以存储一种类型,集合可存放多种类型(如果不加泛型的话)。

 

集合框架:在实际运用中,根据不同的需求,有了更多的不同数据结构的容器(不同类型的集合),在不断向上抽取的过程中形成了一个体系,也就是集合框架。

 

设计:两大基类Collection和Map(最顶层的两个接口)

区别:Collection表示的是一组纯数据。

  Collection主要有三个子接口:

List:元素是有序的,允许有重复元素的集合,改集合体系有索引;

ArrayList:底层的数据结构使用的是数组结构。

特点:查询快,增删慢,线程不同步。

LinkedList:底层使用的链表数据结构。

特点:增删快,查询慢,线程不同步。

Vector:底层是数据数据结构。

特点:线程同步,但已被ArrayList替代,效率较低。

Set:元素是无序的,不允许有重复元素的集合;

HashSet:底层数据结构是哈希表

HashSet是如何保证元素唯一性的?

是通过元素的两个方法,hashCode和equals来完成。

如果元素的HashCode值相同,才会判断equals是否为true。

如果元素的hashcode值不同,就不会调用equals。

TreeSet:可以对set集合中的元素进行排序。

底层数据结构是二叉树;保证元素唯一性的依据,compareTo方法return 0;

TreeSet排序的第一种方式:让元素自身具备比较性,元素需要实现Comparable接口,覆盖compareTo方法。这种方式也称为元素的自然顺序,或者叫做默认顺序

TreeSet排序的第二种方式:当元素不具备比较性时,或者具备的比较性不是所需要的,这时就需要让集合自身具备比较性。在集合初始化时就有了比较方式。

注意:对于判断元素是否存在,以及删除等操作,依赖的方法是元素的hashCode和equals方法。

 

Queue:主要用于存储数据。(了解不多,不多做解释)

-----------------------------------------------------------------------------------------

  Map表示的是一组键值对(key -- value)的映射关系。

  Map主要有三个子接口:

  Hashtable:底层是哈希表数据结构,不可以存入null键和null值,该集合是线程同步的。

  HashMap:底层是哈希表数据结构,可以存入null键和null值,该集合是线程不同步的。

  TreeMap:底层是二叉树数据结构,线程不同步。可以用于给map集合中的键进行排序(和Set很像,Set底层就是用的Map集合)。

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注编程语言JAVA频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程