JAVA集合问题

private List<Employee> list= new ArrayList<Employee>();

public void addEmp(Employee emp){
list.add(emp);
}

public void totalWage(){
float value = 0;
for(Employee e:list){
System.out.println(e.name+ " "+ e.getPay());

}
for(Employee e: list){
value = value + e.getPay();
}
System.out.println(value);

因为本人刚学集合 所以不太懂
想问的是这种表达方式什么意思
private List<Employee> list= new ArrayList<Employee>();
for(Employee e:list)还有这种

Employee是抽象类...是一个大虾帮我写的 帮我看看
源代码:
package dream;
import java.util.*;

abstract class Employee {
String name; //员工名字
float basicpay;//基本工资

public Employee(){};
public Employee(String name,float basicpay){
this.name = name;
this.basicpay = basicpay;
}

public abstract float getPay();

}

class Technicist extends Employee{
float bunus;
public Technicist(){};
public Technicist(String name,float basicpay,float bunus){
super(name,basicpay);
this.bunus = bunus;

}

public float getPay() {

return basicpay+bunus;

}
}
class Salesman extends Employee{
float sales;
float commission;
public Salesman(){};
public Salesman(String name,float basicpay,float sales,float commission){
super(name,basicpay);
this.sales = sales;
this.commission = commission;
}

public float getPay() {

return basicpay+sales*commission;
}
}

class WageSystem{

private List<Employee> list= new ArrayList<Employee>();

public void addEmp(Employee emp){
list.add(emp);
}

public void totalWage(){
float value = 0;
for(Employee e:list){
System.out.println(e.name+ " "+ e.getPay());

}
for(Employee e: list){
value = value + e.getPay();
}
System.out.println(value);
}

public static void main(String[] args) {
WageSystem entity = new WageSystem();
entity.addEmp(new Technicist("zhangsan",2000,1000));
entity.addEmp(new Salesman("lisi",2000,1500,500));
entity.totalWage();
}
}

private List<Employee> list= new ArrayList<Employee>();

private 表示私有
List是列表,是一个接口,<>里的元素表示这个列表用于存放什么类型的元素,
new ArrayList<>() 为列表分配空间,括号内不写大小,则采用默认值对它进行分配,ArrayList是一个实现了List接口的类。因为为List<>分配空间的时候要用实现了它的类
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-10-29
private List<Employee> list= new ArrayList<Employee>(); 这个就是java中的范型表达式,这个list定制的是只能存放Employee对象
for(Employee e:list)这个是java中的 for each循环,你查查资料很简单的,Employee指集合里面存放的对象类型,e为你取的别名或变量,list为集合名称。希望我的回答对你有帮助
相似回答