java.util.hashmap对象是由key,value键值对组成的,创建时就被定义不可存在完全相同的key对象,当key重复时会被覆盖,要想实现同一个key对应多个value,创建java.util.hashmap对象时可以将value定义为一个list集合,集合内存储多个对象世誉枯拍,搜败段这样就可以通过同一个key获取多个不同的对象了
成都创新互联于2013年创立,是专业互联网技术服务公司,拥有项目网站设计、成都网站设计网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元德令哈做网站,已为上家服务,为德令哈各地企业和个人服务,联系电话:028-86922220
没有直接一个键对应梁段饥多个值的,但是可以想一些办橡返法。
比如把指定键燃消所对应的值用一个组合数据来表示。
example:
import java.util.Map;
import java.util.HashMap;
import java.util.ArrayList;
public class Example {
private static MapString, ArrayListString map;
private static ArrayListString teacherList;
private static ArrayListString studentList;
public static void main(String [] args) {
map = new HashMapString, ArrayListString();
teacherList = new ArrayListString();
studentList = new ArrayListString();
map.put("teacher", teacherList);
map.put("student", studentList);
teacherList.add("张三");
teacherList.add("李四");
studentList.add("王五");
studentList.add("赵六");
System.out.println("教师姓名:" + map.get("teacher"));
System.out.println("学生姓名:" + map.get("student"));
}
}
1.数据库
1的实例作为宽桥世主键表, N的实例作为外键表引用1的实例主键表示他们的关系
2. JavaBean
a.主键表实例类, 基本属性即可, 如果需要慎肢从主键bean中找到外键bean, 需要在主键bean中声明泛型集合保存
b.外键表实例类
1). 基本属性
2). 主键表实例引用, 用于表明主外键关系
Code以QQ号与用户为例: (QQ)N:1(用户)
/**
*/
public class 消判QQ{
private String id;
private String password;
// 用户实例引用, 这里表示当前对象与哪个用户相关
private User user;
// 此处省略getter和setter属性读取器...
}
/**
* 用户
*/
public class User{
// UUID算法, 防止数据库合并时导致主键列冲突问题
private String id;
private String userName;
// 此处省略getter和setter属性读取器...
}
/**
* 模拟场景
*/
public static void main(String[] args){
// 从数据库查询出QQ对象, 以及QQ对象所属的用户
Object[] params = {};
QQ qq = QQDao.getQQ(params);
// 获取当前QQ的用户信息
User user = QQ.getUser();
String id = user.getId();
//...
}
完全手打, 如果有什么不明白的欢迎追问^^
希望能帮助你
1、可以使用团颤MapInteger, List格式来达到一对多的关系
2、迹或皮key值可以为一个整型数,作为一个类似ID主键来使用,value值姿差可以用List集合来保存多条数据
3、这样就达到了一个key,对应多条记录。