Java 是一门面向对象的语言,就免不了处理对象,各种操作对象,为了方便操作多个对象,我们常常需要将对象存储起来,进行传递和增删改查,那我们想要存储这些对象,就需要一个容器,为了满足不同的需求,不同的对象处理,我们将这些容器统称为集合(collection)。
数组和集合的区别大致分为两点:
1.长度的区别:
数组的长度固定,集合的长度可变。
2.元素的数据类型:
数组可以存储基本数据类型,也可以存储引用类型。
集合只能存储引用类型,并且会自动封装。
collection的大致结构体系:
这里要单独提一下,大家常认为的三大集合框架,List,Set,Map。只有List和Set是Collection集合包下的,Map集合有自己单独的包,主要是因为他们的数据结构不同,Map 是key value键值对,数据结构不同,操作就不同,也正是因为接口的规范,所以要将它们分开。
估计看到这张图,一看有好多都没用过,甚至没见过,不过,这里面我们是在日常开发中不常用到的,我找了下3y大神的图,有标注出来常用的几个集合类。
Iterator是一个接口,下面只有三个方法,hasNext(),next(),remove(),根据方法名,大致也能知道这三个方法的作用。并且,这三个方法的具体实现并不在Iterator接口下,而是在继承Collection集合类的实现子类下,比如ArrayList,迭代器的作用就是遍历集合,通过hasNext()方法判断是否到达最后一个元素,一般用此来作为判断条件,next()方法来获取元素,并移动下标。