【JAVA】Java 容器

Source
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lnazj/article/details/79255417

Java ApI文档
https://docs.oracle.com/javase/7/docs/api/

什么是容器?
Java ApI所提供的一系列类的实例,用于在程序中存放对象。

容器类图:
这里写图片描述

Collection和Map有什么区别?
Collection接口定义了一组对象的方法,其子接口Set 和List分别定义了存储方式。 一个一个装
Set 中的数据对象没有顺序,并且不可以重复,
List 中的数据对象有顺序,可以重复(对象equales)

Map 一对一对地装 ,以键值对的形式装载对象

Collection接口都有哪些方法?
这里写图片描述

Remove方法和Contains 方法是怎么执行的?
容器类对象在调用remove,contains等方法时需要比较对象是否相等,这会涉及到对象类型的equals 方法和hashCode 方法,对于自定义的类型需要重写equals和hashCode 方法以实现自定义对象相等规则。
重写equals 方法需要重写hashcode方法,什么时候重写hashcode方法?当某个类的对象被当做键值来使用的时候。两个对象equals ,那他们的hashcode 就相等

Iterator接口?
所有实现了Collection接口的对象都有一个iterator方法用以返回一个实现了Iterator接口的对象。
Iterator对象称作迭代器,用以方便的实现对容器内元素的遍历操作。
方法:
这里写图片描述

Set接口
Set 接口是Collection的子接口,Set接口没有提供额外的方法,但实现Set 接口的容器类中的元素没有顺序,而且不可以重复。Set容器类有HashSet,TreeSet

List接口
List 接口是Collection的子接口,实现List 接口的容器类中的元素是有顺序的,而且是可以重复的
List容器中的元素对应一个整数型的序号记载其在容器中位置,可以根据序号存取容器中的元素,是可以自动扩容。
List容器类有ArraryList(以数组形式实现)和LinkedList.(以链表形式实现)。
方法:

Comparable接口——对象怎么排序?
通过实现compareTo的方式实现排序
这里写图片描述
返回 0表示 this=obj
返回正整数表示 this>obj
返回负数表示 this<obj