1.Collection简介
Collection系列是单列集合(每个元素只包含一个值)的祖宗接口,它的功能可被所有单列集合继承其子接口分为List系列和Set系列,List系列有序、可重复、有索引,而Set系列无序、不可重复、无索引。因此对于Collection系列的集合使用for循环遍历索引无法满足Set系列集合的要求,为了解决这一问题,java提供了三种满足Coleection所有集合的遍历方式。
2.三种遍历方式
第一种:迭代器遍历
第一种:增强for遍历
第三种:lambda结合forEach遍历
3.实列
需求:某影院系统需要在后台存储三部电影,然后依次展示出来。
详细代码:
public class MoiveTest {
public static void main(String[] args) {
// 创建集合储存电影对象
ArrayList list=new ArrayList<>();
// 创建电影对象
Moive1 m1=new Moive1("虎虎生威",9.5F,"喜洋洋");
Moive1 m2=new Moive1("葫芦娃",9.8F,"蛇精、葫芦兄弟");
Moive1 m3=new Moive1("拯救世界",9.6F,"赛文奥特曼");
// 添加对象进入集合
list.add(m1);
list.add(m2);
list.add(m3);
// (1)使用迭代器遍历
System.out.println("使用迭代器遍历:");
// 获取集合迭代器
Iterator it=list.iterator();
while (it.hasNext()){//hasNext()查看当前位置是否有对象
Moive1 m=it.next();//指针默认在0,next()获取当前对象,并且将指针往后移一位
System.out.println(" 电影:"+m.getName()+" 评分:"+m.getScore()+" 演员:"+m.getActor());
}
// (2)使用增强for遍历
System.out.println("使用增强for遍历:");
for (Moive1 m:list){//遍历集合得到每一个元素,把每一个元素赋值给第三方变量m
System.out.println(" 电影:"+m.getName()+" 评分:"+m.getScore()+" 演员:"+m.getActor());
}
// (3)使用lambda结合forEach遍历
System.out.println("使用lambda结合forEach遍历:");
//抽象方法中只有一个参数 Movie m,可推导,因此可省略m前的变量类型,包括()、{}等。
list.forEach(m->System.out.println(" 电影:"+m.getName()+" 评分:"+m.getScore()+" 演员:"+m.getActor()));
}
}
//创建Moive类
class Moive {
// 私有化成员变量
private String name;
private float score;
private String actor;
// 构造方法
public Moive(){}
public Moive(String name,float score,String actor){
this.name=name;
this.actor=actor;
this.score=score;
}
// set/get方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public float getScore() {
return score;
}
public void setScore(float score) {
this.score = score;
}
public String getActor() {
return actor;
}
public void setActor(String actor) {
this.actor = actor;
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)