定义一个Worker类,属性:
• name:String,age:int,salary:double
▪ a).把若干Worker对象放在List中,排序并遍历输出,按照age
升序排列
▪ b).把若干Worker对象放在Set中并遍历,要求没有重复元素
▪ c).把若干Worker对象放在Map中并按照三种方式分别遍历,
要求以Worker的姓名作为key
import java.util.ArrayList;
public class Test {
public ArrayList<Worker> orderByAge(ArrayList<Worker> workers){
//按年龄进行冒泡排序
for(int i=0;i<workers.size()-1;i++){
for(int j=0;j<workers.size()-i-1;j++){
if(workers.get(j).getAge()>workers.get(j+1).getAge()){
Worker worker=workers.get(j);
workers.set(j,workers.get(j+1));
workers.set(j+1,worker);
}
}
}
return workers;
}
public static void main(String[] args) {
ArrayList<Worker> arrayList=new ArrayList<>();
for(int i=0;i<10;i++){
Worker worker=new Worker();
worker.setName("A"+Math.random()*100);
worker.setAge((int)(Math.random()*10+30));
//2000-4000元之间
worker.setSalary(Math.random()*2000+2000);
arrayList.add(worker);
}
Test test=new Test();
test.orderByAge(arrayList);
for(int i=0;i<arrayList.size();i++){
System.out.println(arrayList.get(i).getAge());
}
}
}
Worker类的定义很简单,a的代码我直接给你了,bc提供思路。b的话Set集合本身不允许包含相同的元素,如果试图把两个相同元素加入同一个Set集合中,则添加操作失败。c的话name作为key,一个Worker对象就是value,三种遍历方式是entrySet遍历、Iterator遍历和通过keySet或values来实现遍历。