java list map 方法_求大神帮帮忙,用java的list map方法写

展开全部

import java.util.ArrayList;

import java.util.Collections;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

/**

* TODO类描述

*

* @author liuteng

* @version V1.0 2016-07-15

* @createDate 2016-07-15 10:27:29

* @modifyDate

*/

public class yuan3 {

/**

* 学生636f70793231313335323631343130323136353331333361306362信息对象

*

* @return

*/

private static List initScoreList() {

List studentInfoList = new ArrayList();

studentInfoList.add(new StudentInfo("A", 1, 90));

studentInfoList.add(new StudentInfo("A", 2, 80));

studentInfoList.add(new StudentInfo("A", 3, 92));

studentInfoList.add(new StudentInfo("B", 1, 78));

studentInfoList.add(new StudentInfo("B", 2, 93));

studentInfoList.add(new StudentInfo("B", 3, 69));

studentInfoList.add(new StudentInfo("C", 1, 80));

studentInfoList.add(new StudentInfo("C", 2, 82));

studentInfoList.add(new StudentInfo("C", 3, 93));

return studentInfoList;

}

/**

* 学生对象

*

* @return

*/

private static List initNameList() {

List studentList = new ArrayList();

studentList.add(new Student(1, "sam"));

studentList.add(new Student(2, "mike"));

studentList.add(new Student(3, "tom"));

return studentList;

}

/**

* 处理过程

*

* @param nameList

* @param scoreList

* @return

*/

private static List process(List nameList, List scoreList) {

List result = new ArrayList();

Map map = new HashMap();

for (StudentInfo studentInfo : scoreList) {

List tmpStudentInfo = new ArrayList();

for (Student student : nameList) {

if (student.getId() - studentInfo.getId() == 0) {

tmpStudentInfo.add(student);

map.put(studentInfo, student);//关联两个对象

}

}

}

Collections.sort(scoreList);//排序

Map stringMap = new HashMap();

for (StudentInfo studentInfo : map.keySet()) {

stringMap.put(studentInfo.getCourse(), (stringMap.get(studentInfo.getCourse()) == null ? "" : stringMap.get(studentInfo.getCourse()) + ",") + map.get(studentInfo).getName());

}

for (String s : stringMap.keySet()) {

result.add(s + ",\"" + stringMap.get(s) + "\"");

}

return result;

}

public static void main(String[] args) {

List scoreList = initScoreList();

List nameList = initNameList();

List result = process(nameList, scoreList);

System.out.println(result);

}

}

/**

* 学生信息对象类

*/

class StudentInfo implements Comparable {

private String course;

private int id;

private int grade;

public StudentInfo(String course, int id, int grade) {

this.course = course;

this.id = id;

this.grade = grade;

}

public String getCourse() {

return course;

}

public void setCourse(String course) {

this.course = course;

}

public int getId() {

return id;

}

public void setId(int id) {

this.id = id;

}

public int getGrade() {

return grade;

}

public void setGrade(int grade) {

this.grade = grade;

}

@Override

public int compareTo(StudentInfo o) {

return this.getGrade() - o.getGrade();

}

}

/**

* 学生对象类

*/

class Student {

private int id;

private String name;

public Student(int id, String name) {

this.id = id;

this.name = name;

}

public int getId() {

return id;

}

public void setId(int id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值