Java类集框架——认识类集、Collection接口

  Java是一门面向对象的语言,具体的体现就是,事物都是以对象的形式存储的,所以为了方便多个对象的操作,就需要对对象进行存储便于管理,集合就是存储对象最常用的一种方式。
  数组也可以存储对象,但是最大的缺点就是它的长度固定,所以在JDK1.2时引入了类集的概念,集合的长度是可变的。;但是数组可以存储基本数据类型,集合只能存储对象。所以,由上面的分析我们可以总结出集合类的特点。
集合类的特点: 集合只用于存储对象,集合的长度是可变的,集合可以存储不同类型的对象。(泛型)
在这里插入图片描述

1. Iterator接口

Iterator接口是一个用于遍历集合中元素的接口,主要包含hashNext()、next()、remove()三种方法。他的子接口LinkedIterator在它的基础上又添加了三种方法,分别是add()、pervious()、hasPrevious()。
Iterator与LinkedIterator比较:

  • Iterator接口:在遍历集合中元素的时候,只能向后遍历,被遍历的元素不会在被遍历到,通常无需集合实现的都是这个接口,如HashSet、HashMap。
  • LinkedIterator接口:实现这个接口可以双向遍历,既可以通过next()访问下一个元素,有可以通过previous()访问前一个元素,比如ArrayList。通常有序集合实现LinkedIterator接口。

在Java的类集里面(java.util包)提供了两个最为核心的接口:Collection、Map接口。

  • Collection ------ 针对单个对象进行处理。
  • Map ------ 针对键值对对象进行处理 (key, value)

2. Collection接口

Collection接口是单个集合保存的最大父接口。
Collection定义如下:

public interface Collection<E> extends Iterable<E>

Collection接口常用方法有下面几种。

方法名称 类型 功能描述
public boolean add(E e) 普通 向集合中添加数据
public boolean addAll(Collection<? extends E> c) 普通 向集合中添加一组数据
public void clear() 普通 清空集合数据
public boolean contains(Object o) 普通 查找数据是否存在,需要使用equals()方法
public boolean remove(Object 0) 普通 删除数据,需要使用equals()方法
public int size() 普通 取得集合长度
public Object[] toArray() 普通 将集合变为对象数组返回
public Iterator iterator() 普通 取得Iterator接口对象,用于集合输出

上述的方法中使用频率较高的为:add()、iterator()方法使用较多。
注意:
   在实际的开发中,我们很少会直接使用Collection()接口,Collection()接口只是一个存储数据的标准,并不能区分存储数据类型。例如:要存储的数据需要区分重复和不重复,排序等问题。在实际开发中,我们往往会考虑使用Collection接口的子接口:List(允许数据重复)、Set(不允许数据重复)
以上接口继承、使用关系如下图所示:
在这里插入图片描述
Collection接口有两个重要方法:add()、iterator()。子接口都有这两个方法。
Collection接口有两个重要的子接口,一个是List接口,一个是Set接口。我们通过下面两篇博客认识List接口和Set接口。
List接口: https://blog.csdn.net/meng_lemon/article/details/88666198
Set接口: https://blog.csdn.net/meng_lemon/article/details/88695959

猜你喜欢

转载自blog.csdn.net/meng_lemon/article/details/88647965