本质上来说,数据结构,实际上是设计一种容器,而容器的特性大体包括如下:
- 容器中如何进行存储
- 容器中的数据如何获取
- 容器中的数据如何添加
- 容器中的数据如何遍历
- 器中的数据如何搜索
- 容器中的其他特性(判空,替换,排序,溢出,并发,同步,拆分,汇聚等等)
源码解读
package java.util;
import org.jetbrains.annotations.Contract;
import java.util.function.Predicate;
import java.util.stream.Stream;
import java.util.stream.StreamSupport;
public interface Collection<E> extends Iterable<E> {
/**
* 定义size方法,应返回size大小,最大值为Integer.MAX_VALUE
* @return
*/
int size();
/**
* 定义isEmpty方法,用于返回是否为空
* 如果不包含元素,则返回true
* @return
*/
@Contract(pure = true)
boolean isEmpty();
/**
* 定义contains方法,判断一个obj是否属于此集合
* 如不是集合,则返回true
* @param o
* @return
*/
@Contract(pure = true)