Java集合作业

来源:互联网 发布:php 扩展 不成功 编辑:程序博客网 时间:2024/05/21 01:53

实现招聘信息的存储

  • 实现步骤:
  1. 创建招聘信息类Job,属性:jobId,jobName,jobCatgory,jobPub_date;

  2. 创建测试类1,用来存储5条Job信息,要求有遍历,添加,删除的方法,并且不允许有重复的招聘信息出现.

  3. 创建测试类2,用来存储5条Job信息,要求有遍历,按jobId或者jobName,jobPub_date排序的方法,并且可以实现降序排序

  4. 创建测试类3,用来存储5条Job信息,但可以修改招聘人数(num).提供修改招聘人数的方法,要求用hashmap;

程序:

  1. Job类: public class Job {private String jobId; private String jobName; private String jobCatgory; private String jobPub_Id; public Job(String jobId, String jobName, String jobCatgory, String jobPub_Id) { super(); this.jobId = jobId; this.jobName = jobName; this.jobCatgory = jobCatgory; this.jobPub_Id = jobPub_Id; } public Job() { super(); } public String getJobId() { return jobId; } public void setJobId(String jobId) { this.jobId = jobId; } public String getJobName() { return jobName; } public void setJobName(String jobName) { this.jobName = jobName; } public String getJobCatgory() { return jobCatgory; } public void setJobCatgory(String jobCatgory) { this.jobCatgory = jobCatgory; } public String getJobPub_Id() { return jobPub_Id; } public void setJobPub_Id(String jobPub_Id) { this.jobPub_Id = jobPub_Id; } @Override //重写equals方法 public boolean equals(Object obj) { // TODO Auto-generated method stub if (!(obj instanceof Job)) {//如果不是Job类型返回false return false; } Job job=(Job) obj;//是就强转成job类型 return this.jobId.equals(job.jobId)&&this.jobName.equals(job.jobName)&& this.jobCatgory.equals(job.jobCatgory)&&this.getJobPub_Id().equals(job.jobPub_Id); } @Override public int hashCode() {//hash码返回hash码;;;返回当前对象的hash码 return this.jobId.hashCode();//让String调用hash码返回String类的hash码 }
    1. 比较排序重写:1.import java.util.Comparator;

public class JobCompareById implements Comparator<Job> {

@Overridepublic int compare(Job o1, Job o2) {// TODO Auto-generated method stubreturn o1.getJobId().compareTo(o2.getJobId()) ;}

}2. import java.text.Collator; import java.util.Comparator; import java.util.Locale;

public class JobCompareByName implements Comparator<Job> {

@Overridepublic int compare(Job o1, Job o2) {// TODO Auto-generated method stub//实现中文比较Collator instance = Collator.getInstance(Locale.CHINA);    return instance.compare(o1.getJobName(),o2.getJobName());}

}3. import java.util.Comparator;

public class JobCompareBydata implements Comparator<Job>{

@Overridepublic int compare(Job o1, Job o2) {// TODO Auto-generated method stubreturn o1.getJobPub_Id().compareTo(o2.getJobPub_Id());}

}

  1. 测试类1:import java.util.HashSet; import java.util.Scanner;

public class JobTest1 { HashSet<Job> jobs; public JobTest1() { jobs=new HashSet<Job>(); Job job1=new Job("job34","数据分析师","IT行业","2017-8-12"); Job job2=new Job("job21","电脑维修","维修行业","2017-7-2"); Job job3=new Job("job57","厨师","餐饮行业","2017-6-22"); Job job4=new Job("job32","项目部经理","管理行业","2017-8-5"); Job job5=new Job("job21","师机","交通运输行业","2017-7-18");

jobs.add(job1);jobs.add(job2);jobs.add(job3);jobs.add(job4);jobs.add(job5);}@SuppressWarnings("unused")private void showJob() {for (Job n:jobs) {System.out.println(n.getJobPub_Id()+"\t"+n.getJobName()+"\t\t"+n.getJobCatgory()+"\t\t"+n.getJobPub_Id());}}public void addJob(Job job) {jobs.add(job);}public void removeJob(String name) {Job job = new Job();for(Job nJob:jobs) {if(nJob.equals(name)) {job=nJob;}}jobs.remove(job);}public static void main(String[] args) {// TODO Auto-generated method stubJobTest1 jt=new JobTest1();System.out.println("*********************原5个job***********************");jt.showJob();System.out.println("\n*********************第一次添加job***********************");Job job1=new Job("job24","快递员","快递行业","2017-4-11");jt.addJob(job1);jt.showJob();System.out.println("\n*********************第二次添加job***********************");Job job2=new Job("job24","快递员","快递行业","2017-4-11");jt.addJob(job2);jt.showJob();System.out.println("\n*********************删除job***********************");System.out.println("\n请输入你要删除的job名:");Scanner scanner=new Scanner(System.in);String name=scanner.next();scanner.close();jt.removeJob(name);jt.showJob();}

}

  1. 测试类2:import java.util.ArrayList; import java.util.Collections; import java.util.Scanner;

public class JobTest2 { ArrayList<Job> jobs; public JobTest2() { jobs=new ArrayList<Job>(); Job job1=new Job("job34","数据分析师","IT行业","2017-8-12"); Job job2=new Job("job21","电脑维修","维修行业","2017-7-2"); Job job3=new Job("job57","厨师","餐饮行业","2017-6-22"); Job job4=new Job("job32","项目部经理","管理行业","2017-8-5"); Job job5=new Job("job27","师机","交通运输行业","2017-7-18");

jobs.add(job1);jobs.add(job2);jobs.add(job3);jobs.add(job4);jobs.add(job5);}private void sortType(int n) {switch (n) {case 1:JobCompareById jById=new JobCompareById();Collections.sort(jobs, jById);break;case 2:JobCompareByName jByName=new JobCompareByName();Collections.sort(jobs, jByName);break;case 3:JobCompareBydata jBydata=new JobCompareBydata();Collections.sort(jobs, jBydata);break;default:System.out.println("请按套路出牌!");break;}}@SuppressWarnings("unused")private void showJob() {for (Job n:jobs) {System.out.println(n.getJobId()+"\t"+n.getJobName()+"\t\t"+n.getJobCatgory()+"\t\t"+n.getJobPub_Id());}}public void addJob(Job job) {jobs.add(job);}public void removeJob(Job job) {jobs.remove(job);}public static void main(String[] args) {// TODO Auto-generated method stubJobTest2 jt=new JobTest2();System.out.println("*********************原5个job***********************");jt.showJob();System.out.println("\n*********************第一次添加job***********************");Job job1=new Job("job24","快递员","快递行业","2017-4-11");jt.addJob(job1);System.out.println("\n\t\t请选择排序方式:\n1.按jobId排序\t"+ "2.按jobName进行排序\t3.按发布时间进行排序");Scanner scanner=new Scanner(System.in);int n=scanner.nextInt();jt.sortType(n);jt.showJob();}

} 5. 测试类3:import java.util.HashMap; import java.util.Scanner;

public class JobTest3 { HashMap<Job,Integer> jobs; public JobTest3() { // TODO Auto-generated constructor stub jobs=new HashMap<Job, Integer>(); Job job1=new Job("job34","数据分析师","IT行业","2017-8-12"); Job job2=new Job("job21","电脑维修","维修行业","2017-7-2"); Job job3=new Job("job57","厨师","餐饮行业","2017-6-22"); Job job4=new Job("job32","项目部经理","管理行业","2017-8-5"); Job job5=new Job("job21","师机","交通运输行业","2017-7-18");

jobs.put(job1, 6);jobs.put(job2, 9);jobs.put(job3, 5);jobs.put(job4, 7);jobs.put(job5, 8);}public void showJob() {for (Job n:jobs.keySet()) {System.out.println(n.getJobPub_Id()+"\t"+n.getJobName()+"\t\t"+n.getJobCatgory()+"\t\t"+n.getJobPub_Id()+"\t"+jobs.get(n));}}public void searcobhJ(String name,int num) {for(Job n:jobs.keySet()) {if (n.getJobName().equals(name)) {jobs.put(n, num);}else {System.out.println("没有你要寻找的工作!");}/*if (jobs.keySet().contains(jobs.getname())) {//如果原集合包含才修改,如果不存在就没修改}*/}}public static void main(String[] args) {JobTest3 jt=new JobTest3();jt.showJob();Scanner scanner=new Scanner(System .in);System.out.println("请输入你要串改的工作的名字!");String jobName=scanner.next();System.out.println("请输入您要串改的值!");int num=scanner.nextInt();scanner.close();jt.searcobhJ(jobName, num);jt.showJob();}

}

原创粉丝点击