实现List和Map数据的转换

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对象



//ListStudent元素封装到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

}

}

//MapXue元素封装到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 + "]";
}


}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值