定义一个员工类Employee,包含三个属性姓名、年龄、性别,创建三个员工对象存入ArrayList集合中。
A:遍历集合遍历输出。
B:求出年龄最大的员工,然后将该对象的姓名变为:老司机。
class Employee
{
public Employee(String 姓名, int 年龄, Boolean 性别) {
this.姓名 = 姓名;
... // 别的类似
}
private String 姓名;
public String get姓名() { return 姓名; }
public void set姓名(String value) { 姓名 = value; }
... //另外两个属性类似
}
主程序
ArrayList list = new ArrayList();
list.add(new Employee("张三", 30, true));
... //再添加2条。
Employee max = (Employee)list[0];
for (Object o : list)
{
if (max.get年龄() < ((Employee)o).get年龄()) max = (Employee)o);
println(o.toString());
}
max.set姓名("老司机");
List list = new ArrayList();
list.add(new Employee("li","1"));
list.add(new Employee("hu","2"));//性别忽略
list.add(new Employee("gy","3"));
int max = list.get(0).getAge();
int position=0;
for(int i=1;i if(list.get(i).getAge()>=max){
max=list.get(i).getAge();
currentPosition=i;
}
}
//max可能有多个
for(int i=0;i<list.size();i++){
if(list.get(i).getAge()==max){
list.get(i).setName("老司机");
}
}
//list和set若是用到foreach遍历,修改和删除时,必须用迭代器
Employee:
public class Employee {
private String Name;
private int Age;
private String Sex;
public Employee(String name, int age, String sex) {
Name = name;
Age = age;
Sex = sex;
}
public String getName() {
return Name;
}
public void setName(String name) {
Name = name;
}
public int getAge() {
return Age;
}
public void setAge(int age) {
Age = age;
}
public String getSex() {
return Sex;
}
public void setSex(String sex) {
Sex = sex;
}
//用于比较年龄大小
@Override
public boolean equals(Object obj) {
return this.Age > ((Employee) obj).getAge();
}
//用于打印employee信息
@Override
public String toString() {
return "Name:" + this.getName() + "--Age:" + this.getAge() + "--Sex:" + this.getSex();
}
}
Main函数:
public static void main(String[] args) {
List employees = new ArrayList<>();
employees.add(new Employee("Jhon", 10, "男"));
employees.add(new Employee("oven", 15, "女"));
employees.add(new Employee("Tim", 20, "男"));
//A:遍历集合遍历输出。
for (Employee employee : employees) {
System.out.println(employee.toString());
}
//B:求出年龄最大的员工,然后将该对象的姓名变为:老司机。
//找出年龄最大的索引
int index = 0;
Employee MaxEmployee = employees.get(0);
for (int i = 0; i < employees.size(); i++) {
if (employees.get(i).equals(MaxEmployee)) {
MaxEmployee = employees.get(i);
index = i;
}
}
employees.get(index).setName("老司机");
for (Employee employee : employees) {
System.out.println(employee.toString());
}
}
如有帮助,望采纳
如果使用了JDK1.8的话,可以尝试。如果不是的话,请忽略
Optional<Employee > userOp= userList.stream().max(Comparator.comparingInt(Employee ::getAage));
userOp.get().setName("老司机");
public class Employee implements Comparable {
private String name;
private int age;
private String sex;
public Employee(String name, int age, String sex) {
this.name = name;
this.age = age;
this.sex = sex;
}
public int getAge() {
return age;
}
/**
* 从小到达排列,返回值大于0放后面,返回值小于0放前面,等于0不变位置
*/
@Override
public int compareTo(Employee o) {
if (this.age != o.getAge())
return (this.age - o.getAge());
return 0;
}
public static void main(String[] args) {
List<Employee> list = new ArrayList<Employee>();
list.add(new Employee("张三1", 46, "男"));
list.add(new Employee("张三2", 40, "男"));
list.add(new Employee("张三3", 50, "男"));
list.add(new Employee("张三4", 60, "男"));
list.add(new Employee("张三5", 20, "男"));
list.add(new Employee("张三6", 10, "男"));
list.add(new Employee("张三7", 20, "男"));
Collections.sort(list);
for (int i = 0, len = list.size(); i < len; i++) {
System.out.print(list.get(i).getAge() + "岁\t");
}
}
}