【java】java集合list与set、map集合的区别、用法详解
来源:互联网 发布:感触最深的一句话知乎 编辑:程序博客网 时间:2024/05/21 21:02
一、前言
Java集合的主要分为三种类型:
1、Set(集) 2、List(列表) 3、Map(映射)
java集合的接口:
1、java集合由两个接口实现,分别为Collection (list、set)和 Map(map),和一个中立的接口 Iterator
2、Collection 与Map接口区别:
a、容器内每个为之所存储的元素个数不同。
b、Collection类型者,每个位置只有一个元素。
c、Map类型者,持有key-value pair,像个小型数据库。
3、各自旗下的子类关系
Collection
--List 将以特定次序存储元素。所以取出来的顺序可能和放入顺序不同。
--ArrayList / LinkedList / Vector
--Set 不能含有重复的元素
--HashSet / TreeSet
Map
--HashMap
--HashTable
--TreeMap
4、中立接口Iterator
a、包含以下方法
hasNext():判断集合中元素是否遍历完毕,如果没有,就返回true
next() :返回下一个元素
remove():从集合中删除上一个有next()方法返回的元素。
b、与Collection、Map的关系
list与set继承至Collection,map集合继承至Map;Collection与Map接口实现了Iterator
换句话说,无论是list,set还是map,都可以通过Iterator 进行遍历。所以我称他是中立的接口;
5、其他特征
a、List,Set,Map将持有对象一律视为Object型别。
b、Collection、List、Set、Map都是接口,不能实例化。继承自它们的 ArrayList, Vector, HashTable, HashMap才能被实例化
c、vector容器确切知道它所持有的对象隶属什么型别。vector不进行边界检查
d、关于Iterator() 和toArray() 方法都用于集合的所有的元素,前者返回一个Iterator对象,后者返回一个包含集合中所有元素的数组。
二、Collection接口
常用方法:
booleanadd(Object o) :向集合中加入一个对象的引用
voidclear():删除集合中所有的对象,即不再持有这些对象的引用
booleanisEmpty() :判断集合是否为空
booleancontains(Object o) : 判断集合中是否持有特定对象的引用
Iterartoriterator() :返回一个Iterator对象,可以用来遍历集合中的元素
booleanremove(Object o) :从集合中删除一个对象的引用
intsize() :返回集合中元素的数目
Object[]toArray() : 返回一个数组,该数组中包括集合中的所有元素
集合详解:
1、list集合
使用方法
- 【java】java集合list与set、map集合的区别、用法详解
- 【java】java集合list与set、map集合的区别详解
- Java 集合 List、Set、Map的特性、区别、用法
- java 中list,set,map集合的用法和区别
- java 中list,set,map集合的用法和区别
- java--集合类型list、set、Map的用法和区别
- java集合map,set,list区别
- java集合map,set,list区别
- java 集合 容器 List Set Map区别
- Java集合类详解 set、list、map、
- JAVA集合map、list、set详解
- java集合list,set,map区别与联系
- java 集合(set、list、map、stack、queue)的用法
- Java集合类 List/Set/Map... 的区别和联系
- java 的集合。Collection List Set Map 区别
- java中List 、 Set、Map 集合类的区别
- Java集合类List/Set/Map的区别和联系
- java集合中List、Map、Set的区别
- 网络框架的简单封装
- 【Android】ListView、RecyclerView、ScrollView里嵌套ListView 相对优雅的解决方案:NestFullListView
- 【转】并发场景下的中断处理
- 骰子点数识别之图像分割
- Java super关键字
- 【java】java集合list与set、map集合的区别、用法详解
- Leetcode 22. Generate Parentheses
- 计算机视觉基础(三)——对极几何中的基本矩阵F和本质矩阵E
- Force.com Apexの「Describe」でできること
- Java集合类型详解
- 学习Laravel中创建数据表命令引发的对闭包的学习
- Servlet获取表单数据
- Camel:软负载管理中间件 通过界面及接口管理Nginx集群
- Charles Petzold《Code》----2017.1.5 读7章