package com.common.main.mapAndList;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
/**
* @author LiJianShe
* @version 創建時間:Mar 19, 2010 3:33:35 PM 類說明:Student.java
*/
public class Student {
private String classId;
private String studentId; // 学号
private String studentName; // 姓名
private String sex; // 性別 0 男 1 女
public String getClassId() {
return classId;
}
public void setClassId(String classId) {
this.classId = classId;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getStudentId() {
return studentId;
}
public void setStudentId(String studentId) {
this.studentId = studentId;
}
public String getStudentName() {
return studentName;
}
public void setStudentName(String studentName) {
this.studentName = studentName;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
List studentAllList = null ;// 所以班級的学生
//步骤1
Map<String ,List> map = new HashMap<String ,List>();
Map<String ,Object> mapLast = new HashMap<String ,Object>();
// for(Student student : studentAllList){
for(Iterator it = studentAllList.iterator();it.hasNext();){
Student student = (Student)it.next();
if(map.containsKey(student.getClassId())){ //如果已经存在这个数组,就放在这里
List studentList = map.get(student.getClassId());
studentList.add(student);
}else{
List studentList = new ArrayList(); //重新声明一个数组list
studentList.add(student);
map.put(student.getClassId(), studentList);
}
}
// 步骤2
// 利用 处理1 步骤 分组完的数据 ,按性别 男/女 再次分组
for(Map.Entry<String, List> m: map.entrySet()){ //按键值遍历 Map
Map mapList = new HashMap(); //
List studentSingle = m.getValue(); //同一班级的学生,男女
List studentListMen = new ArrayList(); // 声明一个存放男生的 list
List studentListWomen = new ArrayList(); // 声明一个存放女生的 list
for(Iterator it = studentSingle .iterator();it.hasNext();){//遍历
Student student = (Student)it.next();
if("0".equals(student.getSex())){ //男生
studentListMen.add(student); //男生
}else{
studentListWomen.add(student); //女生
}
}
mapLast.put("班级", m.getKey());
mapLast.put("学生 男", studentListMen);
}
}
}
分享到:
相关推荐
本书是第II卷,以开发人员在项目开发中经常遇到的问题和必须掌握的技术为中心,介绍了应用Java进行桌面程序开发各个方面的知识和技巧,主要包括Java语法与面向对象技术、Java高级应用、窗体与控件应用、文件操作...
CISCO 技术大集合 {适合你们的技术} 二、命令状态 1. router> 路由器处于用户命令状态,这时用户可以看路由器的连接状态...以下给出一个显示Cisco同步串口状态的例子. Router#show interface serial 0 Serial 0 is ...
实例206 运用映射的相关类(Map) 363 实例207 运用集的相关类(Set) 365 12.2 List 368 实例208 增加所需的元素 368 实例209 Iterator迭代器的使用 370 实例210 谁是幸运儿 371 实例211 ...
实例206 运用映射的相关类(Map) 363 实例207 运用集的相关类(Set) 365 12.2 List 368 实例208 增加所需的元素 368 实例209 Iterator迭代器的使用 370 实例210 谁是幸运儿 371 实例211 自定义Queue队列 373 实例...
第1篇 Java编程基础 第1章 Java开发环境的搭建(教学视频:9分钟) 2 ... 实例206 运用映射的相关类(Map) 363 实例207 运用集的相关类(Set) 365 12.2 List 368 实例208 增加所需的元素 368 ...
5.1.17. map, set, list, bag 5.1.18. 引用(import) 5.2. NHibernate 的类型 5.2.1. 实体(Entities)和值(values) 5.2.2. 基本值类型 5.2.3. 自定义值类型 5.2.4. Any类型映射 5.3. SQL中引号包围的标识符 5.4. 模块...
实例206 运用映射的相关类(Map) 363 实例207 运用集的相关类(Set) 365 12.2 List 368 实例208 增加所需的元素 368 实例209 Iterator迭代器的使用 370 实例210 谁是幸运儿 371 实例211 自定义Queue队列 373 实例...
8.3. 组件作为Map的索引(Components as Map indices ) 8.4. 组件作为联合标识符(Components as composite identifiers) 8.5. 动态组件 (Dynamic components) 9. 继承映射(Inheritance Mappings) 9.1. 三种策略 ...
5.1.17. map, set, list, bag 5.1.18. 引用(import) 5.2. NHibernate 的类型 5.2.1. 实体(Entities)和值(values) 5.2.2. 基本值类型 5.2.3. 自定义值类型 5.2.4. Any类型映射 5.3. SQL中引号包围的标识符 5.4. 模块...
8.3. 组件作为Map的索引(Components as Map indices ) 8.4. 组件作为联合标识符(Components as composite identifiers) 8.5. 动态组件 (Dynamic components) 9. 继承映射(Inheritance Mappings) 9.1. 三种策略 ...
组件作为Map的索引(Components as Map indices ) 9.4. 组件作为联合标识符(Components as composite identifiers) 9.5. 动态组件 (Dynamic components) 10. 继承映射(Inheritance Mappings) 10.1. 三种...
8.3. 组件作为Map的索引(Components as Map indices ) 8.4. 组件作为联合标识符(Components as composite identifiers) 8.5. 动态组件 (Dynamic components) 9. 继承映射(Inheritance Mappings) 9.1. 三种...
8.3. 组件作为Map的索引(Components as Map indices ) 8.4. 组件作为联合标识符(Components as composite identifiers) 8.5. 动态组件 (Dynamic components) 9. 继承映射(Inheritance Mappings) 9.1. 三种策略 ...
组件作为Map的索引(Components as Map indices ) 8.4. 组件作为联合标识符(Components as composite identifiers) 8.5. 动态组件 (Dynamic components) 9. 继承映射(Inheritance Mappings) 9.1. 三种策略 ...
8.3. 组件作为Map的索引(Components as Map indices ) 8.4. 组件作为联合标识符(Components as composite identifiers) 8.5. 动态组件 (Dynamic components) 9. 继承映射(Inheritance Mappings) 9.1. 三种...
8.3. 组件作为Map的索引(Components as Map indices ) 8.4. 组件作为联合标识符(Components as composite identifiers) 8.5. 动态组件 (Dynamic components) 9. 继承映射(Inheritance Mappings) 9.1. 三种...