城管希课堂之集合和迭代器


Collection方法

    addAll方法:把指定集合中的所有元素都添加到当前集合中。

    removeAll:把指定集合与当前集合的交集删除。

    retainAll:判断调用者是否发生变化


迭代器遍历集合

Collection c = new ArrayList();
		c.add( new Student("刘","20"));
		c.add( new Student("彭","20"));
		c.add( new Student("康","20"));
		Object[] array = c.toArray();
		for (int i = 0; i < array.length; i++) {
			Student student = (Student)array[i];
			System.out.println(student.getName());
		}
		Iterator iterator = c.iterator();
		while (iterator.hasNext()) {
			//向下转型
			Student student = (Student)iterator.next();
			System.out.println(student.getName());	
		}

实际上集合内部有一个指针 调用next 实际上把指针向下移动一位 调用几次挪动几次


 * 什么时候使用ArrayList 和 LinkedList ?
 * ArrayList 特点
 * 查询块 增删慢
 * 数组实现 数组是一块连续的内存空间
 * 按角标查询
 * 增删时 把要删除或增加的元素后面的所有元素
 * 向前移动或者向后移动 
 * 
 * LinkedList 特点
 * 查询慢 增删快
 * 链表实现
 * 查询:
 * 先看这个元素 离那一端近 就从那一端开始
 * 一个一个向前或向后 寻找 直到找到为止
 * 增加:
 * 链表中的元素 要保证 能找到 自己的上一个 和下一个元素
 * 需要保存 上一个和下一个元素的地址
 * 只要保存了地址 就能找到元素 相当于 插入到了 链中
 * 后面的元素 不会发生改变
 * 
 * 两个集合 如何选择? 根据实际需求来判断 ---扯你的项目
 * 增删多 链表
 * 查询多 数组* 什么时候使用ArrayList 和 LinkedList ?
 * ArrayList 特点
 * 查询块 增删慢
 * 数组实现 数组是一块连续的内存空间
 * 按角标查询
 * 增删时 把要删除或增加的元素后面的所有元素
 * 向前移动或者向后移动 
 * 
 * LinkedList 特点
 * 查询慢 增删快
 * 链表实现
 * 查询:
 * 先看这个元素 离那一端近 就从那一端开始
 * 一个一个向前或向后 寻找 直到找到为止
 * 增加:
 * 链表中的元素 要保证 能找到 自己的上一个 和下一个元素
 * 需要保存 上一个和下一个元素的地址
 * 只要保存了地址 就能找到元素 相当于 插入到了 链中
 * 后面的元素 不会发生改变
 * 
 * 两个集合 如何选择? 根据实际需求来判断 ---扯你的项目
 * 增删多 链表
 * 查询多 数组
List list  = new ArrayList();
		list.add("a");
		list.add("b");
		list.add("c");
		list.add("d");
		//使用list接口中 特有的迭代器
		//listIterator中的添加方法
		//获取迭代器
		ListIterator listIterator = list.listIterator();
		while (listIterator.hasNext()) {
			//获取元素 并 强转类型
			String string = (String)listIterator.next();
			if (string.equals("b")) {
				//使用迭代器中的 添加方法
				listIterator.add("OH-YES");
			}	
		}
		
		System.out.println(list);
LIst特有方法 add set get remove 
List list = new ArrayList();
		list.add("a");
		list.add("b");
		list.add("c");
		list.add("d");
		// 添加 (不要超出集合的元素个数 Size)
		//list.add(0, "X");
		// 设置元素(替换该位置的元素)
		//list.set(3, "W");
		// 获取下标处的元素
		Object object = list.get(0);
		//System.out.println(object);

		//删除(返回的是 删除的元素)
		Object obj = list.remove(0);
		System.out.println(obj);
		//利用get方法 遍历
		for (int i = 0; i < list.size(); i++) {
			//打印元素
			System.out.println(list.get(i));
		}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值