当前位置 : 主页 > 编程语言 > java >

8、集合和泛型

来源:互联网 收集:自由互联 发布时间:2022-07-04
数据存储的常用结构有: 堆栈:先进后出,像个容器,入口和出口都是栈顶、压栈和弹栈都是操作栈顶元素 队列:先进先出、队列的入口和出口各占一侧 数组:通过索引查找元素速度

数据存储的常用结构有:
堆栈:先进后出,像个容器,入口和出口都是栈顶、压栈和弹栈都是操作栈顶元素
队列:先进先出、队列的入口和出口各占一侧
数组:通过索引查找元素速度快;增删元素速度慢
链表:多节点之间通过地址连接,增删只需要修改下个元素的地址速度比较快,没有索引位置查找速度比较慢

集合

Java集合面试(看这一篇就够了)

泛型

Java中的泛型

源码分析:
new ArrayList<要存储元素的数据类型>();
Arraylist集合底层是一个Object[]数组
new ArrayList<>();给数组赋空值
new ArrayList<>(2);传入初始化容量,如果容量大于0赋值给原来的Object数组,如果为0赋空值,其他抛异常
添加元素add(E e):
首先判断当前创建的对象是否是空数组,如果是则加入的个数与默认的个数(10)比较取最大值,默认容量设置为10
如果加入的个数大于集合设置的长度时,调用grow方法扩充容量,原来的容量右移一位再加上原来的长度设置为新的容量,再调用数组的拷贝函数,将原来的内容拷贝到新数组里
往指定位置插入元素add(int idnex,E element):
与add(E e)方法大致一致,主要的差异是多了个拷贝函数,从index之后内容全部拷贝到index+1之后,然后把新内容放到index位置上
移除(根据下标移除和根据元素移除):
从index+1之后内容全部拷贝到index之后,把size-1的位置的元素赋值为null,方便GC回收


上一篇:05-异常
下一篇:没有了
网友评论