JAVA语言之Java集合类的使用
小标 2019-02-28 来源 : 阅读 888 评论 0

摘要:本文主要向大家介绍了JAVA语言之Java集合类的使用,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助。

本文主要向大家介绍了JAVA语言之Java集合类的使用,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助。

JAVA语言之Java集合类的使用

集合框架有何好处


集合弥补了数组的缺陷,他比数组更灵活更实用,可大大提高软件的开发效率,而且不同的集合可使用与不同场合


数组和集合的区别


数组长度固定,集合长度可以动态改变
定义数组时必须指定元素类型,集合默认所有元素都是Object
无法直接获取数组中实际元素的个数,集合可以通过size()直接获取元素个数
集合有多种实现方式和不同的适合场合,而不像数组仅采用分配连续空间方式。
集合以接口,类的形式存在,具有面向对象的三大特征,提高了软件的开发效率
Hashtable和HashMap的异同


实现原理、功能相同,可以互用
主要区别


Hashtable继承Dictionary类,HashMap实现Map接口
Hashtable线程安全,HashMap线程非安全
Hashtable不允许null值,HashMap允许null值
泛型集合的好处


严格限制存入元素的数据类型,从集合中取出元素时无需进行强制类型转换,避免了ClassCastException异常。
Collections算法类


Collections和Collection不同,前者是集合的操作类,后者是集合接口
Collections提供的常用静态方法
sort():排序
binarySearch():查找
max()\min():查找最大\最小值
集合类有哪些


Collection(接口)(由List和Set两部分组成)
List(接口)
LinkedList(类)
ArrayList(类)
Vector(类)
stack(类)
Set接口


Map接口
Hashtable(类)
HashMap(类)
WeakHashMap(类)
如何使用集合类


如果涉及到堆栈、队列等操作,应当考虑List,对于需要快速插入,删除元素,应该使用LinkedList,如果需要快速随机访问元素,应该使用ArrayList
哈希表的操作,作为Key的对象要正确复写equals和hashCode方法
尽量返回接口而非实际的类型,如返回List而非ArrayList,这样如果将来要将ArrayList换成LinkedList时,客户端代码不用改变
List可以有类似数组的下标操作,且允许有相同的元素存在;Map是以键值对(KeyValue)的形式存在,不能存在相同的键
常用集合类


ArrayList类:
ArrayList实现可变大小的数组,长度随着元素的增加而变化,而且可以存在重复的元素
HashMap类:
允许null,即null key,null value。且存在的形式是key-value形式,不允许有key重复
Collection的使用


Collection接口是什么


Collection接口是可以理解成动态的数组、集合,和数组类似,但不同的是集合可以任意扩充大小
Collection是最基本的接口,Java SDK提供的类都是继承自Collection的子接口,例如“List”、“Set”
Collection接口特点


性能高
易扩展
易修改
List接口的使用


List接口的特点


List接口可以存放任意的数据,且在接口中,内容可以重复
List中提供了高效的插入和移除多个元素的方法
List常用(实现)子类


ArrayList(实现类)
例:List
Vector(实现类)
例:List
ArrayList和Vector区别


|ArrayList  Vector  
推出时间    JDK1.2后 JDK1.0后
性能  异步处理,性能高    同步处理,性能低
线程安全    非线程安全   线程安全
Set的使用


Set接口的特点


Set接口可以存放任意的数据,且在接口中,数据不可以重复(注意和List进行区别)


Set接口常用子类


HashSet
Set
TreeSet
Set
HashSet和TreeSet的区别


HashSet与TreeSet都是间接实现了Set接口,同样拥有add、remove等方法
HashSet是无序存放的、而TreeSet实现是有序存放(ASCII顺序存放)
Map的使用


Map的特点


Map接口存放数据是以键值对的形式存放,例如:


key -> value
"name" -> "尼古拉斯赵四"
"age" -> "33"
键(key)的类型要一致,值(value)的类型也要一致。


Map常用实现类(实现类的方法和List、Set的方法不一样)


HashMap


Map<String,String> maps = new HashMap<>();
maps.put("name","詹姆斯刘能");
maps.put("age","24");


List接口常用方法


boolean add(Object o) 在列表的末尾顺序添加元素,起始索引位置从0开始
void add(int index,Object o) 在指定的索引位置添加元素。索引位置必须介于0和列表中元素个数之间
int size()返回列表中的元素个数
Object get(int index)返回指定索引位置处的元素。取出的元素是Object类型,使用前需要进行强制类型转换
boolean contains(Object o) 判断列表中是否存在指定元素
boolean remove(Object o) 从列表中删除元素
Object remove(int index) 从列表中删除指定位置元素,起始索引位置从0开始
LinkedList常用方法


void addFirst(Object o) 在列表的首部添加元素
void addLast(Object o) 在列表的末尾添加元素
Object getFirst() 返回列表中的第一个元素
Object getLast() 返回列表中的最后一个元素
Object removeFirst() 删除并返回列表中的第一个元素
Object removeLast() 删除并返回列表中的最后一个元素
Map接口常用方法


Object put(Object key, Object val) 以“键-值”对的方式进行存储
Object get(Object key) 根据键返回相关联的值,如果不存在指定的键,返回null
Object remove(Object key) 删除由指定的键映射的“键-值对”
int size() 返回元素个数
Set keySet() 返回键的集合
Collection values() 返回值的集合
boolean containsKey(Object key) 如果存在由指定的键映射的“键-值对”,返回true
迭代器iterator的使用(接口)


iterator自带常用方法
hasNext:如果仍有元素可以迭代,则返回true
next:返回迭代下一个元素
remove:从迭代器指向的collection中移除迭代器返回的最后一个元素(可选操作)


Set


Collection

   

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

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 1 不喜欢 | 0
看完这篇文章有何感觉?已经有1人表态,100%的人喜欢 快给朋友分享吧~
评论(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小时内训课程