栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

集合框架及背后的数据结构

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

集合框架及背后的数据结构

目录

框架结构及继承关系

Iterable

以List为例

Collection(集合)

主要方法及签名

List

主要方法及签名


框架结构及继承关系

本文主要讲Iterable,Collection,List这条线上的继承关系。

public class Demo1 {
    public static void main1(String[] args) {
        // 1. 继承带来的引用指向
        Iterable i = new ArrayList<>();
        Collection c = new ArrayList<>();
        List l = new ArrayList<>();
        ArrayList a = new ArrayList<>();
    }
}

Iterable
Iteratoriterator() 返回类型元素的迭代器T。

Iterable的子接口及子类都得实现iterator()方法,按照“一定顺序”,访问容器中元素的过程

以List为例

  1. 以下标方式进行遍历。有下标说明只适用于线性结构(数组)

for(int i = 0;i 

2.使用于任何容器的遍历方式(即使没有下标的概念,也可以进行遍历)

        1.本次访问某个元素之后,是否还有剩余的元素没有被访问。

        2.获取遍历的下一个元素。

Iterator接口的实现类,就是对这两个问题的抽象

public interface Iterator {
    boolean hasNext();

    E next();
}

Collection(集合)

        Collection不一定是线性结构的。继承自Iterable接口

主要方法及签名

int size():返回容器中元素的个数;

boolean isEmpty():判断容器是否为空

boolean contains(Object o):容器中是否包含 o 元素(需遍历容器,会用到 equals 方法)

boolean add(E e):把元素 e 放入容器中(由于不一定是线性结构,有可能会失败。例如:当容器中不允许出现重复元素时,插入就会失败)

boolean remove(Object o):将容器中和 o 相等的其中一个元素删除掉(1.相等性,说明使用 equals 判断2.只删除一个3.不保证那一个)

boolean addAll(Collection c) :将 c 中所有元素,都放到当前容器中(元素之间没有顺序)

void clear():清空容器中所有的元素

List

        1.元素有序2.有前后关系3.可以排序

主要方法及签名

boolean add(E e):继承自Collection,但是在List中是尾插

void add(int index,E element):将元素插入指定位置,如果 index 处有元素了,将[index,size())所有元素后移一位。index的合法范围:[0,size()]

boolean remove(Object o) :明确是删除第一个遇到的 o 元素(用 equals 判断)

E remove(int index):将[index]位置上的元素从线性结构中取出并返回,将(index,size())的所有元素,逻辑上前移一个位置(index合法下标[0,size()))

void sort(Comparator c):以c作为比较器,衡量与那苏的大小进行原地排序

E get(int index):返回index下标处的元素(index合法下标[0,size()))

E set(int index,E e) :用 e 替换index下标处的元素,返回原index下标的元素(index合法下标[0,size()))

int indexOf(E e):返回从前往后第一个元素 e 的下标

int lastIndexOf(E e):返回从后往前第一个元素 e 的下标

List subList(int fromIndex,int toIndex):将原有线性结构截取成一个新的线性结构并返回

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/777879.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号