LinkedList-----普通for循环、增强for循环、迭代器的运用
2.设计一个Student类,该类中包括学生的姓名和成绩。创建Student类的5个对象,
将以上5个对象放入LinkedList中,如图:
|
name |
scroe |
| 刘德华 | 85 |
| 张学友 | 100 |
| 王杰 | 65 |
| 章子怡 | 58 |
| 周迅 | 76 |
完成如下操作和统计:
1、输出LinkedList中的对象个数。
2、删除姓名为“刘杰”的学生信息,并输出LinkedList中现有学生信息。
3、将姓名为“刘德华”的学生成绩改为95。
4、输出成绩不及格的学生姓名
public class Student {
private String name;
private int scroe;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getscroe() {
return scroe;
}
public void setscroe(int scroe) {
this.scroe = scroe;
}
public Student(String name, int scroe) {
super();
this.name = name;
this.scroe = scroe;
}
public Student() {
super();
}
@Override
public String toString() {
return "Student [name=" + name + ", scroe=" + scroe + "]";
}
//三种方法每次运行一种
mport java.util.Iterator;
import java.util.LinkedList;
public class TestLinkeList {
public static void main(String[] args) {
LinkedList<Student> ll=new LinkedList<Student>();
ll.add(new Student("刘德华",85));
ll.add(new Student("张学友",100));
ll.add(new Student("王杰",65));
ll.add(new Student("章子怡",58));
ll.add(new Student("周迅",76));
System.out.println(ll.size()); //获取集合大小
//ll.clear();//删除集合元素
//------=====--------------------------------------------------------
//普通for循环-------------------------
for(int i=0;i<ll.size();i++) {
Student s=ll.get(i);
if(s.getName().equals("王杰")) {//删除姓名为“刘杰”的学生信息,并输出LinkedList中现有学生信息。
//ll.remove(i);//隐式调用equals比较
ll.remove(s);//同上
i--;//*******
}
if(s.getName().equals("刘德华")) {//将姓名为“刘德华”的学生成绩改为95。
s.setscroe(95);
}
if(s.getscroe()<60) {//输出成绩不及格的学生姓名
System.out.println(s);
}
}
System.out.println(ll);
//-------------------------------------------------------------------------
//增强for循环-----不能删除----不能对数组进行修改-------------
for(Student s:ll) {
if(s.getName().equals("刘德华")) {
s.setscroe(95);//将姓名为“刘德华”的学生成绩改为95。
}
if(s.getscroe()<60) {
System.out.println(s);//输出成绩不及格的学生姓名
}
}
System.out.println(ll);
//-------------------------------------------------------------------------
//迭代器
Iterator<Student> ite=ll.iterator();
while(ite.hasNext()){
Student s=ite.next();
if(s.getName().equals("王杰")) {//删除姓名为“刘杰”的学生信息,并输出LinkedList中现有学生信息。
ite.remove();
}
if(s.getName().equals("刘德华")) {//将姓名为“刘德华”的学生成绩改为95。
s.setscroe(95);
}
if(s.getscroe()<60) {
System.out.println(s);//输出成绩不及格的学生姓名
}
}
System.out.println(ll);
}
}

浙公网安备 33010602011771号