- 预备数据
class Job{private String jobName;private String id;private List<Job> children;public String getJobName() {return jobName;}public void setJobName(String jobName) {this.jobName = jobName;}public String getId() {return id;}public void setId(String id) {this.id = id;}public List<Job> getChildren() {return children;}public void setChildren(List<Job> children) {this.children = children;}@Overridepublic String toString() {return "Job{" +"jobName='" + jobName + '\'' +", id='" + id + '\'' +", children=" + children +'}';}class ID{private String id;private String Name;} }Job job1 = new Job();job1.setId("1866755618819268610");job1.setJobName("交通运输类");Job job21 = new Job();job21.setId("1878703410967080962");job21.setJobName("软件程序员");Job job211 = new Job();job211.setId("18787034109670809621");job211.setJobName("java开发工程师");List<Job> job211List = new ArrayList<>(); job211List.add(job211);job21.setChildren(job211List);Job job22 = new Job();job22.setId("1878703410967080961");job22.setJobName("软件程序员2");List<Job> jobs1List = new ArrayList<>();jobs1List.add(job21);jobs1List.add(job22);Job job2 = new Job();job2.setId("1878703289839775746");job2.setJobName("技术类");job2.setChildren(jobs1List);Job job31 = new Job();job31.setId("1866755703804256258");job31.setJobName("操作人员");Job job32 = new Job();job32.setId("1866755723286798338");job32.setJobName("文员");List<Job> jobs2List = new ArrayList<>();jobs2List.add(job31);jobs2List.add(job32);Job job3 = new Job();job3.setId("1866755645134331906");job3.setJobName("体力劳动类");job3.setChildren(jobs2List);List<Job> list = new ArrayList<>();list.add(job2); list.add(job3); list.add(job1);
- 遍历
private static void getName(List<Job> list, String name){for (Job job : list) {String id = job.getId();if ("".equals(name)){name = "/" + job.getJobName();}else {name += "/" + job.getJobName();}if (job.getChildren() == null){map.put(id, name);name = name.substring(0, name.lastIndexOf("/"));id = "";}else {getName(job.getChildren(), name);name = name.substring(0, name.lastIndexOf("/"));}}}
- 调用
getName(list, "");