1. 实现List和Map数据的转换。具体要求如下:
功能1:定义方法public void listToMap( ){ }将List中Student元素封装到Map中
1) 使用构造方法Student(int id,String name,int age,String sex )创建多个学生信息并加入List
2) 遍历List,输出每个Xue信息
3) 将List中数据放入Map,使用Xue的id属性作为key,使用Xue对象信息作为value
4) 遍历Map,输出每个Entry的key和value
功能2:定义方法public void mapToList( ){ }将Map中Xue映射信息封装到List
1) 创建实体类XueEntry,可以存储Map中每个Entry的信息
2) 使用构造方法Xue(int id,String name,int age,String sex )创建多个学生信息,并使用Xue的id属性作为key,存入Map
3) 创建List对象,每个元素类型是XueEntry
4) 将Map中每个Entry信息放入List对象
//将List中Student元素封装到Map中
package com.sxt;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import java.util.Map.Entry;
public class Xue {
int id;
String name;
int age;
String sex;
Xue(){}
Xue(int id,String name,int age,String sex ){
this.id=id;
this.name=name;
this.age=age;
this.sex=sex;
}
public static void main(String[] args) {
Xue x=new Xue();
x.listToMap();
}
public void listToMap( ){
Xue x1 = new Xue(1,"张三",12,"男");
Xue x2 = new Xue(9,"李四",22,"男");
Xue x3 = new Xue(10,"王五",25,"男");
Xue x4 = new Xue(16,"张六",22,"男");
Xue x5 = new Xue(17,"赵六",19,"男");
Xue x6 = new Xue(20,"钱七",22,"男");
List<Xue> al = new ArrayList<Xue>();
al.add(x1);
al.add(x2);
al.add(x3);
al.add(x4);
al.add(x4);
al.add(x5);
al.add(x6);
for(Xue x:al){System.out.println(x);}
HashMap<Integer, Xue> hm = new HashMap<Integer,Xue>();
Iterator<Xue> it = al.iterator();
while(it.hasNext()){
Xue x=it.next();
hm.put(x.id, x);
}
Set<Entry<Integer,Xue>> en=hm.entrySet();
for(Entry<Integer,Xue> e:en){
System.out.println("key:"+e.getKey()+"valuey:"+e.getValue());}
}
@Override
public String toString() {
return "Xue [id=" + id + ", name=" + name + ", age=" + age + ", sex=" + sex + "]";
}
public void mapToList() {
// TODO Auto-generated method stub
}
}
//将Map中Xue元素封装到List中
package com.sxt;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Set;
import java.util.Map.Entry;
public class XueEntry extends Xue{
XueEntry(){super();}
XueEntry(int id, String name, int age, String sex) {
super(id, name, age, sex);
// TODO Auto-generated constructor stub
}
public static void main(String[] args) {
XueEntry x=new XueEntry();
x.mapToList();
}
@Override
public void mapToList(){
XueEntry x1 = new XueEntry(1,"张三",12,"男");
XueEntry x2 = new XueEntry(9,"李四",22,"男");
XueEntry x3 = new XueEntry(10,"王五",25,"男");
XueEntry x4 = new XueEntry(16,"张六",22,"男");
XueEntry x5 = new XueEntry(17,"赵六",19,"男");
XueEntry x6 = new XueEntry(20,"钱七",22,"男");
HashMap<Integer, XueEntry> hm = new HashMap<Integer,XueEntry>();
hm.put(x1.id, x1);
hm.put(x2.id, x2);
hm.put(x3.id, x3);
hm.put(x4.id, x4);
hm.put(x5.id, x5);
hm.put(x6.id, x6);
Set<Entry<Integer,XueEntry>> en=hm.entrySet();
List<XueEntry> al = new ArrayList<XueEntry>();
for(Entry<Integer,XueEntry> e:en){
System.out.println(e);
XueEntry x=new XueEntry();
al.add(e.getValue());
}
for(XueEntry x:al){
System.out.println(x);
}
}
public String toString() {
return "XueEntry [id=" + id + ", name=" + name + ", age=" + age + ", sex=" + sex + "]";
}
}