java - Map<?,?>作为参数有什么缺点吗?对于数组的分组大家有什么好的方法或者建议?
伊谢尔伦
伊谢尔伦 2017-04-18 09:05:43
[Java讨论组]

1、Map作为参数有什么缺点吗?

querySpecimenByItemId(Map map);

2、对于数组的分组大家有什么好的方法或者建议?

List list;
list中有三个字段,序号(NO),名称(NAME),类型(TYPE)。
现在按照类型进行分组有什么简单的方式么?
目前我的想法是通过map得到list的所有类型作为keySet,
然后双层循环比较list的类型与map的key值。
但是效率比较低下,不清楚有什么好的方式没有。

                            
                                    
            
            
            
            
            
            
            
            
            
            
            
            
            
            

            
伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全部回复(2)
天蓬老师
  1. 缺点就是不开debugger的话,根本不知道这个map里面放了什么参数,导致维护这段代码的人骂WTF的次数呈指数级上升;

  2. 没太看懂,感觉跟1也是差不多意思;

所以,定义一个结构清晰的java bean不好吗?这样就能避免你所提到的这些问题了。

大家讲道理

1.Map<?,?> 没有指定类型,这是泛型的基本概念。没有对存入的数据类型进行校验,即使在编译时通过,运行时可能会出错。
2.list中的对象有三个属性,可以遍历一次list,分别存入三个map中。

Map<String,Boolean> map = new HashMap<String,Boolean>();
for (Object obj : list) {
    if (null !=map.get(obj.getType())) {
        continue;
    } else {
        map.put(obj.getType(), true);
    }
}
for(Object obj : list) {
    if (null != map.get(obj.getType())) {
        if (map.get(obj.getType())) {
            //存
        } else {
            List<Object> list = new ArrayList<Object>();
        }
    } else {
        map.put(obj.getType(),true);
    }
}
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号