62,614
社区成员
发帖
与我相关
我的任务
分享
map.put("rockets", gr);
map.put("vip", vip);
//如果要增加班级,只需要实现 Grade接口,并实现接口里面的getId,getName方法,然后添加到map里面就可以了
//但是打印的时候也要修改,你增加什么就在打印的时候增加什么
加油
import java.util.*;
/**
* first Java 8
* <p>
* <p>
* Created by puruidong on 2014/12/23.
*/
interface Grade {
int getId();
String getName();
}
class Rockets implements Grade {
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;
}
private int id;
private String name;
}
class Vip implements Grade {
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;
}
private int id;
private String name;
}
public class Main {
/**
* 组织数据.
*/
private static void trMap() {
Map<Object, List<Grade>> map = new HashMap<Object, List<Grade>>();
//添加班级1
List<Grade> gr = new ArrayList<Grade>(12);
List<Grade> vip = new ArrayList<Grade>(12);
for (int i = 0; i < 10; i++) {
//添加Rockets对象.
Rockets rs = new Rockets();
rs.setId(i);
rs.setName("rockets_" + i);
gr.add(rs);
//添加vip对象.
Vip vips = new Vip();
vips.setId(i + 1);
vips.setName("vip_" + i + 1);
vip.add(vips);
}
map.put("rockets", gr);
map.put("vip", vip);
//打印
// showMap(map);// java 8 版本打印map.
showMap7(map);// java 7 版本打印map.
}
/**
* 打印map.->java 8 版本.
*
* @param maps
*/
private static void showMap(Map<Object, List<Grade>> maps) {
for (Object o : maps.keySet()) {
List<Grade> list = maps.get(o);
list.stream().forEach(n -> System.out.println(n.getId() + "-->" + n.getName()));
}
}
/**
* 打印map.java7版本.
*
* @param maps
*/
private static void showMap7(Map<Object, List<Grade>> maps) {
List<Grade> g = new ArrayList<Grade>();
for (Object o : maps.keySet()) {
g = (List<Grade>) maps.get(o);
for (int i = 0; i < g.size(); i++) {
System.out.println(g.get(i).getId() + "-->" + g.get(i).getName());
}
}
}
public static void main(String[] args) {
trMap();
}
}