Map<?,?>作为参数有什么缺点吗?对于数组的分组大家有什么好的方法或者建议?

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


querySpecimenByItemId(Map<?,?> map);

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


List<Object> list;

list中有三个字段,序号(NO),名称(NAME),类型(TYPE)。

现在按照类型进行分组有什么简单的方式么?

目前我的想法是通过map得到list的所有类型作为keySet,

然后双层循环比较list的类型与map的key值。

但是效率比较低下,不清楚有什么好的方式没有。


宝慕林4294392
浏览 620回答 2
2回答

炎炎设计

缺点就是不开debugger的话,根本不知道这个map里面放了什么参数,导致维护这段代码的人骂WTF的次数呈指数级上升;没太看懂,感觉跟1也是差不多意思;所以,定义一个结构清晰的java bean不好吗?这样就能避免你所提到的这些问题了。

一只名叫tom的猫

1.Map<?,?> 没有指定类型,这是泛型的基本概念。没有对存入的数据类型进行校验,即使在编译时通过,运行时可能会出错。2.list中的对象有三个属性,可以遍历一次list,分别存入三个map中。Map<String,Boolean> map = new HashMap<String,Boolean>();for (Object obj : list) {&nbsp; &nbsp; if (null !=map.get(obj.getType())) {&nbsp; &nbsp; &nbsp; &nbsp; continue;&nbsp; &nbsp; } else {&nbsp; &nbsp; &nbsp; &nbsp; map.put(obj.getType(), true);&nbsp; &nbsp; }}for(Object obj : list) {&nbsp; &nbsp; if (null != map.get(obj.getType())) {&nbsp; &nbsp; &nbsp; &nbsp; if (map.get(obj.getType())) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //存&nbsp; &nbsp; &nbsp; &nbsp; } else {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; List<Object> list = new ArrayList<Object>();&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; } else {&nbsp; &nbsp; &nbsp; &nbsp; map.put(obj.getType(),true);&nbsp; &nbsp; }}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java