忧郁的Mr.Li 2021-08-05 15:53 采纳率: 60%
浏览 315
已结题

定义一个Worker类,属性: name:String,age:int,salary:double。

定义一个Worker类,属性:
• name:String,age:int,salary:double
▪ a).把若干Worker对象放在List中,排序并遍历输出,按照age
升序排列
▪ b).把若干Worker对象放在Set中并遍历,要求没有重复元素
▪ c).把若干Worker对象放在Map中并按照三种方式分别遍历,
要求以Worker的姓名作为key

img

  • 写回答

1条回答 默认 最新

  • Flyta_ 2021-08-05 17:06
    关注
    
    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来实现遍历。

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 4月5日
  • 创建了问题 8月5日