不用for的话用Iterator行不,你取每个对象的属性肯定要遍历,遍历肯定就得循环,都差不多啊:Iterator ls=list.iterator();
while(iS.hasNext()){
User us = iS.next();
String age = us.getAge();
System.out.println(age);
}
while(iS.hasNext()){
User us = iS.next();
String age = us.getAge();
System.out.println(age);
}
while(ite.hasNext()){
User us = ite.next();
String age = us.getAge();
System.out.println(age);
}
System.out.println(user.getAge());
}
import java.util.Iterator;
import java.util.List;/*
1) 创建一个List,在List 中增加三个工人,基本信息如下:
姓名 年龄 工资
zhang3 18 3000
li4 25 3500
wang5 22 3200
2) 在li4 之前插入一个工人,信息为:姓名:zhao6,年龄:24,工资3300
3) 删除wang5 的信息
4) 利用for 循环遍历,打印List 中所有工人的信息
5) 利用迭代遍历,对List 中所有的工人调用work 方法。
6) 为Worker 类添加equals 方法
6. (Set,Hash 算法)为上一题的Worker 类,在添加完equals 方法的基础上,添加一个
hashCode 方法。*/
public class TestDemo { public static void main(String[] args) {
List al = new ArrayList();
Person p1 = new Person("张三", 18, 3000);
Person p2 = new Person("李四 ", 22, 3500);
Person p3 = new Person("王五", 22, 3200);
Person p4 = new Person("赵六",24,3300);
al.add(p1);
al.add(p2);
al.add(p3);
int s = al.indexOf(p2);//获取李四索引值
al.add(s, p4);
sop("添加赵六后"+al);
al.remove(p3);
sop("删除王五后"+al);
Iterator it = al.iterator();
// (1)
// for(;it.hasNext();){
// sop(it.next());
// }
// (2)
while(it.hasNext()){
Object obj = it.next();
Person p = (Person)obj;
sop(p.getName()+p.work()+" "+p.getPrice()+p.money());
}
} public static void sop(Object sop) {
System.out.println(sop);
}}class Person {
private String name;
private int age;
private int price; public Person(String name, int age, int price) {
this.name = name;
this.age = age;
this.price = price;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public int getAge() {
return age;
} public void setAge(int age) {
this.age = age;
} public int getPrice() {
return price;
} public void setPrice(int price) {
this.price = price;
} public String toString() {
return name + " " + age + " " + price;
}
public String work(){
return "在工作"; // System.out.println("在工作");
}
public String money(){
return "工资"; //System.out.println("工资");
}}