两段代码哪个执行效率高

fdyo4 2010-07-15 08:03:19
class ReportCatalogueIndexCommandParser {
final String NO_GROUPING = "orgNoGrouping";
static final int ORG_CATALOG = 0;
static final int PART_CATALOG = 1;
int getGroupingType(String grouping) {
Set orgGroupings = new TreeSet();
orgGroupings.add(NO_GROUPING);
orgGroupings.add("orgGroupByCountry");
orgGroupings.add("orgGroupByTypeOfOrgName");
if (orgGroupings.contains(grouping)) {
return ORG_CATALOG;
}
if (grouping.equals("part")) {
return PART_CATALOG;
} else
throw new IllegalArgumentException("Invalid grouping!");
}
}


上面这个是用SET的集合来装

下面没有用集合装直接做判断



class ReportCatalogueIndexCommandParser {
static String NO_GROUPING = "orgNoGrouping";
static final int ORG_CATALOG = 0;
static final int PART_CATALOG = 1;

public int getGroupingType(String grouping) {
if (grouping.equals(NO_GROUPING)||grouping.equals("orgGroupByCountry")||grouping.equals("orgGroupByTypeOfOrgName")) {
return ORG_CATALOG;
} else if (grouping.equals("part")) {
return PART_CATALOG;
} else
throw new IllegalArgumentException("Invalid grouping!");
}}



想问的是如果数据量很大的话,哪种效率高,代码的效率问题,在编程中的一些好习惯
有谁有这方面的总结或者参考资料,可以暴暴,大家一起分享

...全文
123 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangcfxbg 2010-07-15
  • 打赏
  • 举报
回复
应该是第二个吧,不过总的来说,都差不多。
还有一个更好的方法,将你的set作为静态变量放到方法的外面
因为你set的三个添加方法都和和这个方法的参数没关系。
luozhangwen 2010-07-15
  • 打赏
  • 举报
回复
回复楼上

你看楼主的代码哪个地方需要用到不重复这个特性了..

我实在没看出来..
xieshengjun2009 2010-07-15
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 dr_lou 的回复:]
去看看set.contains的源码吧。

觉得引入set意义不大。
[/Quote]

我估计你没用过set,set翻译成中文集合的意思,数学了的集合有三要素:
即元素的确定性、互异性(就是不能重复)和无序性,我想你看到互异性应该明白他的
用途了吧,

还有楼主:第二种执行效率高。。。因为从数据本身来说,少了对数据的一层封装,少了封装,因此也就少了
解析。。从根源来说虚拟机拿到数据直接编译原始数据,而不是经过封装后的数据。。可想而知。。
simaa0106 2010-07-15
  • 打赏
  • 举报
回复
Set orgGroupings = new TreeSet();
orgGroupings.add(NO_GROUPING);
orgGroupings.add("orgGroupByCountry");
orgGroupings.add("orgGroupByTypeOfOrgName");

没看到你这段代码起到什么作用。
dr_lou 2010-07-15
  • 打赏
  • 举报
回复
去看看set.contains的源码吧。

觉得引入set意义不大。
快乐的2 2010-07-15
  • 打赏
  • 举报
回复
第二个,应该把String做成final的静态常量,然后再使用。

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧