求面向对象需求分析方法转map方法

putAll方法――追加另一个Map对象到当前Map集合
本文所属图书&>&
本书是一本Java综合查询参考手册,包含Java程序开发中常用的各种类及其方法。本书共分为4篇21章,第一篇为Java语言基础篇,主要包括包装数据类型、集合操作、日期与时间、文件处理、图片处理等内容;第二篇为桌面...&&
putAll方法用来追加另一个Map对象到当前Map集合对象中,它会把另一个Map集合对象中的所有内容,添加到当前Map集合对象中。
语法& void putAll(Map&? extends K,? extends V& m)&
参数:m是一个Map集合对象。
示例& 本示例创建一个Map集合对象,为它添加一些内容并输出该集合的大小,然后创建第二个Map集合对象,也添加一些内容并输出集合大小,最后把第二个Map集合添加到第一个Map集合对象中,再次输出第一个集合的大小。
public static void main(String[] args) {
&&& Map map1 = new HashMap();
&&& map1.put(&apple&, &新鲜的苹果&);&&&&&//向列表中添加数据
&&& map1.put(&computer&, &配置优良的计算机&);&&&//向列表中添加数据
&&& map1.put(&book&, &堆积成山的&);&&&&//向列表中添加数据
&&& System.out.println(&第一个Map集合大小为:&+map1.size());
&&& Map map2 = new HashMap();
&&& map2.put(&apple2&, &新鲜的苹果&);&&&&&//向列表中添加数据
&&& map2.put(&computer2&, &配置优良的计算机&);&&&//向列表中添加数据
&&& map2.put(&book&, &堆积成山的&);&&&&//向列表中添加数据
&&& System.out.println(&第二个Map集合大小为:&+map2.size());
&&& System.out.println(&把第二个Map集合添加到第一个Map集合中&);
&&& map1.putAll(map2);
&&& System.out.println(&整合后的第一个Map集合大小为:&+map1.size());
您对本文章有什么意见或着疑问吗?请到您的关注和建议是我们前行的参考和动力&&
您的浏览器不支持嵌入式框架,或者当前配置为不显示嵌入式框架。把对象转换为Map的Java工具库:BeanQuery
-------------
新增文件夹...
新增文件夹
(多个标签用逗号分隔)
BeanQuery 是一个把对象转换为Map的Java工具库。支持选择Bean中的一些属性,对结果进行排序和按照条件查询。不仅仅可以作用于顶层对象,也可以作用于子对象。
BeanQuery的使用非常简单也很直接,例子代码如下:
//静态导入BeanQuery
import&static&cn.jimmyshi.beanquery.BeanQuery.*;
//使用&select、from、where、orderBy、desc和asc来组装一个Query,然后执行execute方法来获得结果。
List&Map&String,&Object&&&result&=&select("price,name,mainAuthor.name&as&mainAuthorName")
&&&&.from(bookCollection)
&&&&.where(
&&&&&&&&//for&books&name&is&Book2&or&starts&with&Book1
&&&&&&&&anyOf(
&&&&&&&&&&&&value("name",&startsWith("Book1")),
&&&&&&&&&&&&value("name",&is("Book2"))
&&&&&&&&),
&&&&&&&&//for&books&price&between&(53,65)
&&&&&&&&allOf(
&&&&&&&&&&&&value("price",&greaterThan(53d)),
&&&&&&&&&&&&value("price",lessThan(65d))
&&&&.orderBy("name").desc()
&&&&.execute() 在上面的例子中,bookCollection的内容如下所示(json格式)
&&&&"price":55.55,
&&&&"name":"Book1",
&&&&"mainAuthor":{
&&&&&&"name":"Book1-MainAuthor",
&&&&&&"address":{
&&&&&&&&"address":"Shenzhen&Guangdong&China",
&&&&&&&&"postCode":"518000"
&&&&&&"birthDate":"T14:52:39"
&&&&"price":52.55,
&&&&"name":"Book12",
&&&&"mainAuthor":{
&&&&&&"name":"Book1-MainAuthor",
&&&&&&"address":{
&&&&&&&&"address":"Shenzhen&Guangdong&China",
&&&&&&&&"postCode":"518000"
&&&&&&"birthDate":"T14:52:39"
&&&&"price":53.55,
&&&&"name":"Book13",
&&&&"mainAuthor":{
&&&&&&"name":"Book13-MainAuthor",
&&&&&&"address":{
&&&&&&&&"address":"Shenzhen&Guangdong&China",
&&&&&&&&"postCode":"518000"
&&&&&&"birthDate":"T14:52:39"
&&&&"price":60.0,
&&&&"name":"Book14",
&&&&"mainAuthor":{
&&&&&&"name":"Book14-MainAuthor",
&&&&&&"address":{
&&&&&&&&"address":"Shenzhen&Guangdong&China",
&&&&&&&&"postCode":"518000"
&&&&&&"birthDate":"T14:52:39"
&&&&"price":50.55,
&&&&"name":"Book15",
&&&&"mainAuthor":{
&&&&&&"name":"Book1-MainAuthor",
&&&&&&"address":{
&&&&&&&&"address":"Shenzhen&Guangdong&China",
&&&&&&&&"postCode":"518000"
&&&&&&"birthDate":"T14:52:39"
&&&&"price":77.77,
&&&&"name":"Book3",
&&&&"mainAuthor":{
&&&&&&"name":"Book3-MainAuthor",
&&&&&&"address":{
&&&&&&&&"address":"Shenzhen&Guangdong&China",
&&&&&&&&"postCode":"518005"
&&&&&&"birthDate":"T14:52:39"
&&&&"price":66.66,
&&&&"name":"Book2",
&&&&"mainAuthor":{
&&&&&&"name":"Book2-MainAuthor",
&&&&&&"address":{
&&&&&&&&"address":"Shenzhen&Guangdong&China",
&&&&&&&&"postCode":"518005"
&&&&&&"birthDate":"T14:52:39"
] 执行完之后,则result的内容如下所示(json格式)
&&&&"price":60.0,
&&&&"name":"Book14",
&&&&"mainAuthorName":"Book14-MainAuthor"
&&&&"price":53.55,
&&&&"name":"Book13",
&&&&"mainAuthorName":"Book13-MainAuthor"
&&&&"price":55.55,
&&&&"name":"Book1",
&&&&"mainAuthorName":"Book1-MainAuthor"
] 项目主页:
相关资讯  — 
相关文档  — 
发布时间1: 12:37:35
关注网站微信公众号
同类热门经验
46604次浏览
34889次浏览
33883次浏览
29900次浏览
27762次浏览
32760次浏览
OPEN-OPEN, all rights reserved.如何将POJO对象转换成MAP_百度知道
如何将POJO对象转换成MAP
提问者采纳
homeApsw&quot.getPropTypes();
user.Address@29428euserPassword=pswlinkType.getColumnCount();**
* @param args
*&#47.toString().setRoleName(&
map=objA private List propertys=new ArrayList(); 得到结果集中包含的列
while ( } private void convertObjToMap(Object obj.List.ResultSetMetaData.Role@1d04653linkType.F
Iterator itr=objL
linkTimport java.hasNext())
Field field=(Field)itr.getGetter(); public static void main(String[] args)
User user=new User().property.toString();
String[] setters=classAnalysis.HashM
Class[] propTypes=pojoAimport test.getGetterNames();import test.G
} } public Class getAnalysisClass() {
return analysisClass.next(); 得到结果集中列类型和属性
int columnCount =
propTypes[i]=getters[i];,clazzAnaly2).add(propertyMeta).getPropertyNames();
getterNames[i]=getters[i];
propMeatL&quot. public ClassAnalysis(Class clazz) {
this、辅助类
} public String[] getGetterNames() {
return getterNames.javassist.add(user);
role!=null&&clazzAnaly2.homeAddress=
propTypes=new Class[properspan].getName().I
}catch(Exception e){import java.getMethodName();
private Gimport test.mapping.length.put(propName.next()) {
map = new HashMap().; private String[] setterNames.getString(i + 1)).ArrayLabc&quot.getPropertyValues(obj);0)
convertObjToMap(objPropertyValues[i];
stack=new Stack();
i++. &#47.getReturnType()).add(map).reflect:=&quot.hasNext())
Object obj=itr.setLinkType(linkType);
getterNames=new String[properspan];).
propName=getPropName(stack); }}3;
rsmd = rst、测试代码addressId2&quot.LinkType@d0a5d9linkType.setGetter(propertyAi++)
Spublic class SqlUtil {
public static List convertRsToList(ResultSet rst) throws Exception{
List list = new ArrayList().next(); } public Class[] getPropTypes() {
return propTypes.IU
public void setPropType(Class propType) {
this.hasNext())
String key= }
public static List convertObjListToMapList(List objLi& private String propName=&quot.getClass());import org.util.next();fileds很多情况需要将取得的POJO对象转换成其他表现形式;
public Setter getSetter() {
return setter.addressName=addressName2
Iterator itr=
Role role=new Role(),
user.pop().property!=null)
ClassAnalysis clazzAnaly2=new ClassAnalysis(objPropertyValues[i];abc&/import java.lang、POJO实体类------------------------User.setRole(role),clazz).create(classA
private Class propType.User.iterator(););import org.);&#47.BulkBean.toString().util.Map.getPropertyNames().util.add(fileds[i]).println(key+&quot.util.getter = getter.get(i););
for(int i=0;
Class[] types=classA }}2.entity.getColumnName(i + 1).companyAddress.convertObjListToMapList(userList.setUserName(&));i& private Setter[]&quot.
String[] getters=classAnalysis.BasicPropertyA }
public Map getObjPropertyMap() {
setterNames[i]=setters[i];
List userList=new ArrayList().);
catch(PropertyNotFoundException ex)
convertToAry().
getPropertys(analysisClass);
Object[] objPropertyValues=bulkbean.keySet().getPropTypes();
propertyMeta.entity.addressName=addressName1userId=userName=abcrole=
getters[i]=propertyMeta.hibernate.& i++) {set方法 * @author shygiant * *&#47.size().setSetter(propertyAroleName1&quot.roleId=role1linkType.add(map);addressName2&
return map.iterator().getDeclaredFields().public class ObjAnalysis { private Map map,clazz).hibernate.getMetaData();+propTypes[i];public class ClassAnalysis { private Class analysisCgetter.PropertyNotFoundException.setUserPassword(&quot.util.hibernate.
if(clazzAnaly2; } public Setter[] getSetters() {
convertObjToMap(obj.
private String[] getterNames.get(key);
private String getPropName(Stack stack) {
String propName=&
BasicPropertyAccessor propertyAccessor=new BasicPropertyAccessor(); private Class[] propT
propertyMeta.getReturnType();+itr.public class TestMain { /
for(int i=0.Iterator.psw&);
return propN
if(map.analysisClass=
Iterator itr=propertys.addressId=addressId2linkT
companyAddress.R
Address homeAddress=new Address().next().util.
while(import java.util.iterator();
for(int i=0;
LinkType linkType=new LinkType();
propertyNames[i]=propertyName.util.util.
ClassAnalysis classAnalysis=new ClassAnalysis(clazz).L
private void convertToAry() {
int properspan=propMeatL
public Getter getGetter() {
return getter.homeAddress.HashM/i++)
Map map=(Map)
Field[] fileds= columnCount,ClassAnalysis classAnalysis) {
String[] propertyNames=classA
ObjAnalysis objAnalysis=new ObjAnalysis(obj,
Iterator itr=map.getSetter(clazz.getProperty();
Getter[] getters=pojoA
String propertyName=field.addressId=addressId1+getters[i];import java.iterator().getClass()),Class clazz) {
List list =new ArrayList().Iterator.setAddressId(&quot.ArrayL=&quot.property.setProperty(field);
setters[i]=propertyMeta.
System.hibernate.setUserName(&quot.
private Setter setter.
stack.UserI private List propMeatList=new ArrayList();import java.next();
propertyMeta.iterator(),如Key-Value的Map形式;
}).PojoComponentTuplizer.hibernate.getGetter();+value).BasicPropertyA }
public String[] getPropertyNames() {
return propertyNames.hasNext())
ClassPropertyMeta propertyMeta=(ClassPropertyMeta)itr!=Object.
Map map=convertObjToMap(
for (int i = 0.getClass()).getPropertyNames().setAddressId(&
getters=new Getter[properspan];
int i=0.BulkA
propName+=&
if(objPropertyValues[i];
Address companyAddress=new Address().import org.LinkType,主要是分析类的构造取得类定义的属性和get&#47.component.G测试结果linkTimport java.getName().
public void setSetter(Setter setter) {
this.out,propertyName)).entity.ArrayL
if(propertyM }}4. } public static void main(String[] args) {
User user=new User().println(&
ClassAnalysis pojoAnalysis=new ClassAnalysis(user.BulkB
public Class getPropType() {
return propType.toString(); } public String[] getSetterNames() {
return setterNames.setter =
public Field getProperty() { i &lt.S public ObjAnalysis(Object obj.setAddressName(&
ResultSetMetaData rsmd = null.Date.getMethodName();
String value=&quot,classAnalysis).cglib,objPropertyValues[i]);
BulkBean bulkbean=BulkB** * 分析POJO类抽取类定义的属性和get/
public Getter[] getGetters() {
return getters!=null&&clazz.M
panyApropertyN
setterNames=new String[properspan];).getSuperclass(),propertyName)).1&quot.
int i=0;i& private String[] propertyNames.setCompanyAddress(companyAddress);
getPropertys(curClass).Iimport java.homeAddress.util.Address@388993linkType.getName()).companyAddress=&).println(&
i++, types).length&gt,Class clazz) {
map=new HashMap();
for(int i=0.propType = propType、类分析器代码;propTypes.push(propertyNames[i]).setPropType(propertyMimport java.getGetter(
propertyMeta.List.class)
Class curClass=
public class ClassPropertyMeta {
private Field property.next().entity,
propertyNames=new String[properspan];role1&/i++)
return list.BulkBean.setUserPassword(&
public void setGetter(Getter getter) {
while(itr,用于数据展现;i++)
private void getPropertys(Class clazz) {
} }}5.getGetters();.setHomeAddress(homeAddress).hibernate.setUserId(new Integer(& }
public static Map convertObjToMap(Object obj.ResultS
List maplist=SqlUtil.property,Class clazz) {
Map map=new HashMap().entity.本文介绍如何将取得的POJO对象实例后如何转换成Map对象.printStackTrace().linkTypeId=linkType= private Getter[]
Iterator itr=propMeatList.util.代码如下1.java---------------------------
setters=new Setter[properspan];.)、对象分析器代码import java!=null)
String propertyName=propertyM
ClassPropertyMeta propertyMeta=new ClassPropertyMeta();addressName1&i&lt.getAnalysisClass();
Map map = null.tuple.entity.setAddressName(&quot.Sset方法import java.getSetterNames();addressId1&quot.property.hasNext())
propName=itr.getMethodName()).size().put((String)import net.getObjPropertyMap().get(key).setRoleId(&quot.property = property.Map:=&
user!=null)
value= private Stack stack.
public void setProperty(Field property) {
this.getSetter(); default packageimport java
来自团队:
其他类似问题
为您推荐:
pojo的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁将java对象属性转化为Map集合_小组_ThinkSAAS
将java对象属性转化为Map集合
将java对象属性转化为Map集合
package com.bpcrm.
import java.lang.reflect.F
import java.sql.T
import java.text.SimpleDateF
import java.util.D
import java.util.HashM
import java.util.I
import java.util.M
import java.util.S
import com.bpcrm.customer.form.CustomerSendF
public class ObjectUtils {
* 将指定对象属性名称和属性值转化为Map键值对
* @param obj
public static HashMap objectToMap(Object obj) throws Exception {
if (obj == null) {
throw new Exception("对象为空");
Class clazz = obj.getClass();
HashMap map = new HashMap();
getClass(clazz,map,obj);
HashMap newMap = convertHashMap(map);
return newM
* 带入一个对象,一个对象中的属性名称,取得该属性的值
* @param obj
* @param strProperty
* @throws Exception
public static String getPropertyValueFormObject(Object obj,
String strProperty) throws Exception {
if (!StringUtils.isValidateString(strProperty)) {
if (obj == null) {
Class clazz = obj.getClass();
HashMap map = new HashMap();
getClass(clazz,map,obj);
HashMap newMap = convertHashMap(map);
if (newMap == null) {
Object objReturn = newMap.get(StringUtils.validateString(strProperty));
if (objReturn==null) {
return objReturn.toString();
private static void getClass(Class clazz,HashMap map,Object obj) throws Exception{
if(clazz.getSimpleName().equals("Object")){
Field[] fields = clazz.getDeclaredFields();
if (fields == null || fields.length &= 0) {
throw new Exception("当前对象中没有任何属性值");
for(int i=0;i&fields.i++){
fields[i].setAccessible(true);
String name=fields[i].getName();
Object value=fields[i].get(obj);
map.put(name,value);
Class superClzz=clazz.getSuperclass();
getClass(superClzz,map,obj);
* @param map
* @throws Exception
private static HashMap convertHashMap(HashMap map) throws Exception {
HashMap newMap = new HashMap();
Set keys = map.keySet();
Iterator it = keys.iterator();
while (it.hasNext()) {
Object key = it.next();
convertToString(map.get(key), newMap, key);
return newM
* @param value
* @param newMap
* @param key
private static void convertToString(Object value, HashMap newMap, Object key) {
if (value != null) {
Class clazz = value.getClass();
if (isBaseType(clazz)) {
newMap.put(key, value.toString());
} else if (clazz == String.class) {
newMap.put(key, value.toString());
} else if (clazz == Date.class) {
Date date = (Date)
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
newMap.put(key, sdf.format(date));
} else if (clazz == Timestamp.class) {
Timestamp timestamp = (Timestamp)
long times = timestamp.getTime();
Date date = new Date(times);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
newMap.put(key, sdf.format(date));
} else if (clazz == java.sql.Date.class) {
java.sql.Date sqlDate = (java.sql.Date)
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
newMap.put(key, sdf.format(sqlDate));
newMap.put(key, value);
newMap.put(key, value);
* @param clazz
private static boolean isBaseType(Class clazz) {
if (clazz == Integer.class) {
if (clazz == Long.class) {
if (clazz == Double.class) {
if (clazz == Byte.class) {
if (clazz == Float.class) {
if (clazz == Short.class) {
if (clazz == Boolean.class) {
* @param args
public static void main(String args[]) throws Exception {
System.out.println("132131");
CustomerSendForm user = new CustomerSendForm();
// user.setAge(1);
user.setId("1");
// user.setName("qqqq");
// user.setBirthday(new Date());
// user.setFriedns(new ArrayList());
// user.setHobbies(new String[]{"1","2"});
HashMap map = objectToMap(user);
Set entrys = map.entrySet();
Iterator it = entrys.iterator();
System.out.println("sfsdfsdf");
while (it.hasNext()) {
Map.Entry entry = (Map.Entry) it.next();
System.out.println(entry.getKey() +":"+ entry.getValue());
PHP开发框架
服务器环境
ThinkSAAS商业授权:
ThinkSAAS为用户提供有偿个性定制开发服务
ThinkSAAS将为商业授权用户提供二次开发指导和技术支持
手机客户端
ThinkSAAS接收任何功能的Iphone(IOS)和Android手机的客户端定制开发服务
官方1群:【已满】
让ThinkSAAS更好,把建议拿来。[转载]JS实现Map对象[转]
&mce:script
type="text/javascript"&&!--
function Map() {
&var struct = function(key, value) {
& this.key =
& this.value =
&var put = function(key, value){
& for (var i = 0; i &
this.arr. i++) {
&& if ( this.arr[i].key === key )
this.arr[i].value =
&& this.arr[this.arr.length] =
new struct(key, value);
&var get = function(key) {
& for (var i = 0; i &
this.arr. i++) {
&& if ( this.arr[i].key === key )
return this.arr[i].
&var remove = function(key) {
& for (var i = 0; i &
this.arr. i++) {
&& v = this.arr.pop();
&& if ( v.key === key ) {
&& this.arr.unshift(v);
&var size = function() {
& return this.arr.
&var isEmpty = function() {
& return this.arr.length &=
&this.arr = new Array();
&this.get =
&this.put =
&this.remove =
&this.size =
&this.isEmpty = isE
--&&/mce:script&
&mce:script
type="text/javascript"&&!--
&var map = new Map();
&map.put("re","redhacker");
&map.put("do","douguoqiang");
&map.put("gq","dougq");
&alert("map的大小为:" + map.size())
&alert("key为re的map中存储的对象为:" +
map.get("re"));
&map.remove("re");
&alert("移除key为re的对象后,获取key为re的map中存储的对象为:" +
map.get("re"));
&alert("map移除一个元素后的大小为:" + map.size());
&alert("map是否是一个空map:" + map.isEmpty());
--&&/mce:script&
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

我要回帖

更多关于 java 对象转map 的文章

 

随机推荐