集合框架概括

集合框架概括

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(); 遍历输出的结果便是反过来
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值