Java集合—初见

揭开Java集合的面纱

Posted by 刘知安 on 2020-04-24
文章目录
  1. Java8集合框架
    1. 1.接口和实现
    2. 2.可迭代对象和迭代器

Java8集合框架

所谓集合,就是对象的容器,即可以容纳其他Java对象的对象。Java Collections Framework(JCF)为Java开发者提供了通用的容器,其始于JDK 1.2。

后续我将一步步分析集合中的关键容器实现原理,并结合阅读源代码来加深理解。

1.接口和实现

Java8的集合框架中,接口、抽象类以及具体的实现类组织如下:

Map接口没有继承自Collection接口,因为Map表示的是关联式容器而不是集合。但Java为我们提供了从Map转换到Collection的方法,可以方便的将Map切换到集合视图。

2.可迭代对象和迭代器

可迭代对象(即实现了Iterable接口的对象),而迭代器则是可以遍历容器的一个对象。从Java集合的接口和实现架构图可以知道,任何一个容器都是实现了Iterable接口,也就是说,每个容器都是可迭代对象。

而每个容器都对容器中的对象情况十分了解,也只有容器本身才能管理容器中的对象。因此,每个容器都会通过内部类的形式实现自己的迭代器,返回给客户端使用!

例如,下面这个使用增加for循环,来使用迭代器遍历容器的例子:

1
2
3
4
5
6
7
8
//使用增强for迭代
ArrayList<String> list = new ArrayList<String>();
list.add(new String("Monday"));
list.add(new String("Tuesday"));
list.add(new String("Wensday"));
for(String weekday : list){//enhanced for statement
System.out.println(weekday.toUpperCase());
}