您的位置:首页 > 其它

集合框架概括

2019-05-19 22:11 169 查看

集合框架概括

1.List集合的特点和概括
2.arrayList集合
3.vector集合特有的特点
4.集合框架LinkedList

集合框架:数据多了用对象进行存储,对象多了用集合来进行存储。而存储数据的方式(数据结构)各有不同,所以存储的容器也就有多种,从而形成了集合框架这一体系。

List,arrayList,vector都是collection所包括在内的集合

List集合

llist集合所特有的迭代器 - - - ListIterator是Iterator的子接口
在迭代时,不可以通过集合对象的方法操作集合中的元素,因为会发生并发修改异常(ConcurrentModificationException),所以,在迭代时,只能通过迭代器来操作元素,课时Iterator的方法是有限的,Iterator只提供了判断、取出、删除的操作,

增
* add(index," ") 在指定下标增加指定元素
* 删
* Remove(index) 删除指定下标元素
* 改
* Set(index,element) 在指定下标修改指定元素
* 查
* Get(index)  查找指定下标元素
*

在迭代时,不可以通过集合对象的方法操作集合中的元素,因为会发生并发修改异常(ConcurrentModificationException)如果想要有其他的操作,如添加、修改等,就需要使用其子接口ListIterator,该接口只list集合的listIterator方法来获取
!

arrayList集合

arrayList集合数组结构 增删慢,查询快 有连续下标 线程不同步 增长因子为1.5 倍 初始长度为10
可以通过调优来节省时间和空间

ArrayList li = new ArrayList<>(50);//调优 设置长度

如果想要知道集合的长度可以写出这个方法

public static void getLen(ArrayList li) throws NoSuchFieldException, IllegalArgumentException, IllegalAccessException {
Field f = li.getClass().getDeclaredField("elementData");
f.setAccessible(true);
Object obj = f.get(li);
Object[] elementData = (Object[]) obj;
System.out.println("当前容器的容量是:"+elementData.length);
}

Vector的集合

数组结构 增删改查都慢 有连续下标 线程同步 增长因子2倍 初始长度10

vector的特点 枚举 是它特有的遍历方式

Vector v = new Vector<>();
v.add("xx");
v.add("aa");
Enumeration eles = v.elements();
while(eles.hasMoreElements()) {
System.out.println(eles.nextElement());
}

集合框架LinkedList

链表的数据结构

特有方法

addFirst();

addLast();

可以用堆栈存储结构特点 和 队列存储结构特点的看法来运用
堆栈是 先进后出
队列便是 先进先出

class DuiZhan{//堆栈
private LinkedList li= new LinkedList<>();

public void push(Object obj) {//存进
li.addFirst(obj);
}

public Object pop(Object obj) {
return li.getLast();//取出
}

public void bianli() {//打印
Iterator i = li.iterator();
while(i.hasNext()) {
System.out.println(i.next());
}
}

}

它遍历输出的结果是

而在队列中运用也差不多 把addFirst(); 替换成 addLast(); 遍历输出的结果便是反过来

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: