1.Java高级编程集合框架和泛型(一)

Java高级编程集合框架和泛型(一)

一、Collection:不唯一,无序

1.list:不唯一,有序
(1)ArrayList:内部数组实现,查询效率高
ArrayList常用方法

​ Collection接口常用通用方法还有:clear()、isEmpty()、iterator()、toArray()

方法名说明
boolean add(Object o)在列表的末尾顺序添加元素,起始索引位置从0开始
void add(int index,Object o)在指定的索引位置添加元素。索引位置必须介于0和列表中元素个数之间
int size()返回列表中的元素个数
Object get(int index)返回指定索引位置处的元素。取出的元素是Object类型,使用前需要进行强制类型转换
boolean contains(Object o)判断列表中是否存在指定元素
boolean remove(Object o)从列表中删除元素
Object remove(int index)从列表中删除指定位置元素,起始索引位置从0开始
(2)LinkedList:内部使用双向链表实现,增删效率高
LinkedList常用方法
方法名说明
void addFirst(Object o)在列表的首部添加元素
void addLast(Object o)在列表的末尾添加元素
Object getFirst()返回列表中的第一个元素
Object getLast()返回列表中的最后一个元素
Object removeFirst()删除并返回列表中的第一个元素
Object removeLast()删除并返回列表中的最后一个元素
ArrayList arrayList = new ArrayList();
		arrayList.add("张三");//向集合中插入数据
		arrayList.add("李四");
		
		int len = arrayList.size();//获得集合长度
		System.out.println(len);
		
		Object objs[] = arrayList.toArray();//将集合转换为数组 输出
		System.out.println(Arrays.toString(objs));
		//或
		System.out.println(Arrays.toString(arrayList.toArray()));
		
		arrayList.add(0,"王五");//输入下标进行插入
		
		System.out.println(Arrays.toString(arrayList.toArray()));
		//根据下标 获得对象信息
		Object obj = arrayList.get(2);
		System.out.println("===="+obj);
		
		//根据下标 删除对象信息
		arrayList.remove(0);
		System.out.println(Arrays.toString(arrayList.toArray()));
		
		//判断集合中是否有指定元素
		boolean bool = arrayList.contains("王五");
		System.out.println(bool);
		boolean bool1 = arrayList.contains("李四");
		System.out.println(bool1);
		
		arrayList.clear();//清空集合
		System.out.println(Arrays.toString(arrayList.toArray()));
		
		//判断集合中是否为空  false有值 true空
		System.out.println(arrayList.isEmpty());

		//循环遍历集合
		System.out.println("--------循环集合------------");
		
		for(int i = 0;i<arrayList.size();i++) {
			System.out.println(arrayList.get(i));
			
		}
		
		//for增强循环
		/*
		 * for(数据类型 变量名:要循环的数组或集合){
		 *
		 * 
		 * }
		 * 
		 * 
		 * 
		 */
		for(Object obj1:arrayList) {
			System.out.println(obj1);
		}
		//如果输出看不到也许是上面把集合清空了
2.Set:唯一,无序

Set接口存储一组唯一,无序的对象

HashSet是Set接口常用的实现类

Set接口不存在get()方法

方法1:通过迭代器Iterator实现遍历

3.迭代器Iterator

获取Iterator :Collection 接口的iterator()方法创建Iterator对象

Iterator的方法

​ boolean hasNext(): 判断是否存在另一个可访问的元素

​ Object next(): 返回要访问的下一个元素

方法2:增强型for循环

	Set scores  = new HashSet();
		
		scores.add(81);
		scores.add(82);
		scores.add(83);
		scores.add(84);
		scores.add(85);
		scores.add(86);
		
		System.out.println(scores.size());
		
		System.out.println("======迭代器=======");
		//创建迭代器
		Iterator it = scores.iterator();
		//hasNext 判断下一项是否有值 有true  没false
		while(it.hasNext()) {
			System.out.println(it.next());
		}
		System.out.println("for增强循环");
		for(Object obj :scores) {
			System.out.println(obj);
		}
		System.out.println(it.next());
	}
	System.out.println("for增强循环");
	for(Object obj :scores) {
		System.out.println(obj);
	}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

懒洋洋大魔王

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值