博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java的集合类
阅读量:7101 次
发布时间:2019-06-28

本文共 967 字,大约阅读时间需要 3 分钟。

一、集合与数组

数组(可以存储基本数据类型)是用来存现对象的一种容器,但是数组的长度固定,不适合在对象数量未知的情况下使用。

集合(只能存储对象,对象类型可以不一样)的长度可变,可在多数情况下使用。

二、Collection接口是集合类的根接口,Java中没有提供这个接口的直接的实现类。但是却让其被继承产生了两个接口,就是Set和List。Set中不能包含重复的元素。List是一个有序的集合,可以包含重复的元素,提供了按索引访问的方式。

Map是Java.util包中的另一个接口,它和Collection接口没有关系,是相互独立的,但是都属于集合类的一部分。Map包含了key-value对。Map不能包含重复的key,但是可以包含相同的value。

Iterator,所有的集合类,都实现了Iterator接口,这是一个用于遍历集合中元素的接口,主要包含以下三种方法:

1.hasNext()是否还有下一个元素。
2.next()返回下一个元素。
3.remove()删除当前元素。

三、几种重要的接口和类简介

1、List(有序、可重复)

List里存放的对象是有序的,同时也是可以重复的,List关注的是索引,拥有一系列和索引相关的方法,查询速度快。因为往list集合里插入或删除数据时,会伴随着后面数据的移动,所有插入删除数据速度慢。

2、Set(无序、不能重复)

Set里存放的对象是无序,不能重复的,集合中的对象不按特定的方式排序,只是简单地把对象加入集合中。

3、Map(键值对、键唯一、值不唯一)

Map集合中存储的是键值对,键不能重复,值可以重复。根据键得到值,对map集合遍历时先得到键的set集合,对set集合进行遍历,得到相应的值。

对比如下:

 

 

是否有序

是否允许元素重复

Collection

List

Set

AbstractSet

 

HashSet

 

TreeSet

是(用二叉排序树)

Map

AbstractMap

使用key-value来映射和存储数据,key必须唯一,value可以重复

 

HashMap

 

TreeMap

是(用二叉排序树)

转载于:https://www.cnblogs.com/fy02223y/p/7197707.html

你可能感兴趣的文章
ASP.NET Web API获取Model元数据
查看>>
mybatis中#{}和${}的区别
查看>>
RAC安装重新运行root.sh
查看>>
Mac下面的SecureCRT(附破解方案) 更新到最新的7.3.2(转)
查看>>
jQuery实践树(2)
查看>>
投影纹理映射(Projective Texture Mapping) 【转】
查看>>
中国股市“牛”的底气来自哪里?
查看>>
北京Uber优步司机奖励政策(1月3日)
查看>>
【转】在程序中设置android:gravity 和 android:layout_Gravity属性
查看>>
Kyoya and Colored Balls(组合数)
查看>>
一起学微软Power BI系列-官方文档-入门指南(7)发布与共享-终结篇+完整PDF文档
查看>>
004杰信-关于formSubmit('factorycreate.action','_self')路径的疑惑
查看>>
tar: Cowardly refusing to create an empty archive 问题
查看>>
ThinkphpCMF笔记
查看>>
git分支的合并
查看>>
maven 常用命令
查看>>
小程序五:组件之视图容器
查看>>
H5版俄罗斯方块(5)---需求演进和产品迭代
查看>>
Java多线程有哪几种实现方式? Java中的类如何保证线程安全? 请说明ThreadLocal的用法和适用场景...
查看>>
工作队列(workqueue) create_workqueue/schedule_work/queue_work
查看>>