Java集合框架

1、vector

vector是最原始的数组 本质是动态数组 

  Vector<Integer > v1 = new Vector<>() ;不带参数的构造函数 容量和增量默认为10 容量指数组的最大存储量 增量指当元素个数超过当前 Vector的容量时,  Vector会自动再增加10的内存空间 达到动态扩容的目的 但是如果只是在当前容量等于元素个数时再增加一个元素时就会浪费9个内存空间 所以会出现带参数的  Vector数组

 Vector<Integer > v1 = new Vector<>(5,2) ;则这个v1对象的最小容量为5 当容量不够时会自动增加两个单位内存空间

主要的方法有:

2、Stack

Stack是栈 其特点是先进后出 在生活中比较形象的例子的是洗碗,先洗好的碗放在最底下用的时候得从最上面的拿起 

主要的操作是添加元素至栈顶 取栈顶元素 删除栈顶元素 要取底下的元素要依次将栈顶的元素删除后才能将目标元素读取出来

Stack stack =new Stack ();

主要方法:

stack .push()将元素添加进栈 将新添加的元素变成栈顶元素 

stack.peek()读取栈顶元素但不移除

 stack.remove()删除栈顶元素 

3、arrylist

arrylist是单向链表 因为链表中每一个元素都是由数据区域和指针区域所组成

其数据区域存储的是这个元素的值 指针区域存储的是下一个元素的地址

所以arrylist存指定位置的数据和删除指定位置数据只需要将指针修改便可以达到目的 

常用的方法有add() remove()get() size()

4、总结

数组比如一维整型数组int[] arr; 其特点因为存储地址是一串连续的空间 所以访问数据快 

而随意增加/删除某个位置的数据则麻烦 而且数组的长度在定义的时候就必须要知道长度 

vector 是动态的数组 相对比上面刚提及的数组 它的长度可变 而且增加删除可以直接调用方法

stack是栈 先进后出的特点在这个类的方法里都有体现

arrlist是单向链表 通过指针可以随便指向另一个元素 可以方便的增加删除元素 

对内存来说是比较友好的 虽说实际中链表访问连链表中的某个元素速度较慢 但是因为有现成的方法供我们直接使用 所以也通常不会感觉到这个缺点

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值