Collection集合、遍历、迭代器

集合与数组的区别?
1.长度区别
数组长度 固定
集合长度可变
2.元素类型不同
数组可以存储基本数据类型和引用数据类型
集合只能存储引用数据类型
3.存储内容的不同
数组存储只能存储同一类型
集合可以存储不同类型
List和Set继承了Collection,而Collection是一个接口,所以只能通过它的子类进行实例化;

例子1:

import java.util.ArrayList;
import java.util.List;
public class Collectiondemo1 {
	public static void main(String[] args) {
		//注意:要导入util的包,而不是awt的包
		List list=new ArrayList();
		System.out.println("1.可以存储不同类型的内容");
		list.add("美");
		list.add(20);
		System.out.println(list);
	}
}

可以向集合里添加对象
例子2:
public class Collectiondemo2 {
public static void main(String[] args) {
Student s1=new Student(18,“美”);
Student s2=new Student(22,“Winston”);
Student s3=new Student(26,“白百合”);
Student s4=new Student(22,“ash”);
Student s5=new Student(12,“仓鼠”);

		//创建一个学生类数组
		Student[] stu=new Student[5];
		stu[0]=s1;
		stu[1]=s2;
		stu[2]=s3;
		stu[3]=s4;
		stu[4]=s5;
		//遍历数组
		for(int i=0;i<stu.length;i++) {
			System.out.println(stu[i].getAge()+"--------"+stu[i].getName());
		}
		
		System.out.println("------------1-----------");
		//创建一个集合对象,添加学生对象	
		List list=new ArrayList();
		list.add(s1);
		list.add(s2);
		list.add(s3);
		list.add(s4);
		list.add(s5);
		System.out.println(list.getClass().getName());//获取list所在的当前类名
		Iterator it=list.iterator();//创建迭代器,看下第四个例子
		while(it.hasNext()) {
			Student ss=(Student)it.next();
			System.out.println(ss.getAge()+"----------"+ss.getName());
		}
	}
}

例子:3:

public class Collectiondemo3 {
	public static void main(String[] args) {
		Collection coll1=new ArrayList();
		coll1.add("大朋友1");
		coll1.add("大朋友2");
		coll1.add("大朋友3");
		coll1.add("大朋友4");
		coll1.add("大朋友5");
		coll1.add("大朋友6");
		coll1.add("大朋友7");
		System.out.println(coll1);
		System.out.println("-----------1----------");
		Collection coll2=new ArrayList();
		coll2.add("小样");
		coll2.add("旭宝");
		coll2.add("沙雕");
		System.out.println(coll2);
		//.addAll()方法将coll1的全部元素加入到coll2中
		System.out.println(coll2.addAll(coll1));//boolean addAll();方法返回布尔值,表示添加成功
		System.out.println(coll2);
		System.out.println("------------2-----------");
		//遍历
		Object[] obj=coll2.toArray();//创建一个Object数组,将coll2转换成数组存进去
		for(int i=0;i<obj.length;i++) {
			System.out.println(obj[i]);
			//向下转型
			String s=(String)obj[i];//Object强转为String类型
			System.out.println(s);
		}
	}
}

迭代器 例子4:

public class Iteratordemo {
	public static void main(String[] args) {
		//创建一个集合对象
		Collection coll1=new ArrayList();
		String s1="HelloWorld";
		//添加集合对象
		coll1.add(s1);
		coll1.add("大朋友1");
		coll1.add("大朋友2");
		coll1.add("大朋友3");
		coll1.add("大朋友4");
		coll1.add("大朋友5");
		coll1.add("大朋友6");
		coll1.add("大朋友7");
		//创建迭代器并且赋值
		Iterator it =coll1.iterator();
		System.out.println("-----------1----------");
		//笨办法遍历
//		System.out.println(it.next());
//		System.out.println(it.next());
//		System.out.println(it.next());
//		System.out.println(it.next());
//		System.out.println(it.next());
//		System.out.println(it.next());
//		System.out.println(it.next());
		System.out.println("-----------2-----------");
		//for遍历   
		while(it.hasNext()) {
		/*
		.hasNext()方法,下一个位置还有元素则返回true,没有返回false,一开始的时候将向一个指针,指向第一个元素的前面,然后一直指下去,直到没有元素返回false结束循环
		*/
			System.out.println(it.next());//输出下一个元素
			String s2=(String) it.next();//将Object强转为String,然后输出
			System.out.println(s2);
		}
		System.out.println("-----------3------------");
		//因为迭代器使用完了,里面也就没有元素了,需要重新调用.iterator()方法,放回一个新的迭代器
		it=coll1.iterator();
		while(it.hasNext()) {
			String s2=(String) it.next();
			System.out.println(s2);
		}
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值