java集合专题_集合体系介绍_集合遍历(1)
大家好,我是bug郭,一名双非科班的在校大学生。对C/JAVA、数据结构、Linux及MySql、算法等领域感兴趣,喜欢将所学知识写成博客记录下来。 希望该文章对你有所帮助!如果有错误请大佬们指正!共同学习交流
作者简介:
- CSDN java领域新星创作者blog.csdn.net/bug…
- 掘金LV3用户 juejin.cn/user/bug…
- 阿里云社区专家博主,星级博主,developer.aliyun.com/bug…
- 华为云云享专家 bbs.huaweicloud.com/bug…
集合体系图
我们为啥要学集合呢?
集合顾名思义就是存放了一组数据的集合嘛!
java集合也是如此,我们之前是通过数组的方式存取一组数据!
数组的缺点:
- 一个数组只能保存同一类型的数据
- 固定的初始化容量,容量不够需要进行扩列
- 增删操作效率低,并且需要自己实现并且移动数组中的元素
集合优点:
- 一个集合可以保存多种类型的数据
- 可以动态添加删除元素
- 内置了很多高效的方法供我们进行增删改查
集合框架下最主要的接口就是List,Set,Map
我们把这3个接口及其常用子类学习就学会了集合框架的使用!
难点就是自己分析这些类的方法源码,进而加深对集合框架的理解!
集合体系图

主要学习上述列列举到的接口和类就差不多了!
List和Set接口都是实现了Collection接口而Collection接口又实现了Iterable接口
而Map接口自成一派!
为啥这样呢?
List和Set存取的是单个元素(单列集合)
Map保存的是键值对!(双列集合)
Collections接口方法
我们看到
Collection接口实现了Iterable接口!
所以Colleciton接口实现了Iterable下的所有方法!
而List和Set接口又实习了Collection所有方法

Iterable接口方法
iterator()方法
返回一个Iterator迭代器
可以通过这个迭代器对集合进行遍历

这个迭代器下有3个方法!
hasNext()
next()
remove()

叠带器迭代的方式类似于指针遍历,通过hashNext()判断指针是否走到集合末尾,next()返回迭代器中的下一个元素!
一般用于集合遍历
public class Collection_ {
public static void main(String[] args) {
Collection collection = new ArrayList();
//增加
collection.add(1);
collection.add("1234");
//删除1
collection.remove(1);
//获取长度
System.out.println(collection.size());
//获取到迭代器进行遍历
Iterator iterator = collection.iterator();
while (iterator.hasNext()){
Object next = iterator.next();
System.out.print(" next:"+next);
}
}
}
集合遍历方式
这里的
List和Set集合有3种遍历方式!
- iterator迭代器遍历
- 增强for循环遍历
- 普通for循环遍历
由于我们的Collection接口没有get()方法就无法进行普通for循环遍历!
public class Collection_ {
public static void main(String[] args) {
Collection collection = new ArrayList();
for (int i = 0; i < 10; i++) {
collection.add(i);
}
//获取到迭代器进行遍历
System.out.println("迭代器遍历");
Iterator iterator = collection.iterator();
while (iterator.hasNext()){
Object next = iterator.next();
System.out.print(" "+next);
}
System.out.println("\n增强for遍历");
for (Object object :collection) {
System.out.print(object+" ");
}
}
}

- 点赞
- 收藏
- 关注作者
评论(0)