首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

有哪位高手知道正则表达式速度如何比split方法速度慢

2012-04-01 
有谁知道正则表达式速度怎么比split方法速度慢?AddDataLv(lv_nc, msg.getData().getString(String).spli

有谁知道正则表达式速度怎么比split方法速度慢?
AddDataLv(lv_nc, msg.getData().getString("String").split("\n"));
AddDataLv(lv_nc, msg.getData().getString("String"), "\\d+.*.*]");


private void AddDataLv(ListView lv, String[] tmp) {
ArrayList<Map<String, String>> aap = new ArrayList<Map<String, String>>();
for (int i = 0; i < tmp.length; i++) {
if (tmp[i].indexOf("]") != -1) {
HashMap<String, String> tb = new HashMap<String, String>();
tb.put("list", tmp[i]);
aap.add(tb);
}
}
SpecialAdapter sa = new SpecialAdapter(this, aap, R.layout.listcontent,
new String[] { "list" }, new int[] { R.id.textList });
lv.setAdapter(sa);


}

private void AddDataLv(ListView lv, String tmp, String str) {
ArrayList<Map<String, String>> aap = new ArrayList<Map<String, String>>();
Pattern p = Pattern.compile(str);
Matcher m = p.matcher(tmp);
while (m.find()) {
HashMap<String, String> tb = new HashMap<String, String>();
tb.put("list", m.group());
aap.add(tb);

}
SimpleAdapter sa = new SimpleAdapter(this, aap, R.layout.listcontent,
new String[] { "list" }, new int[] { R.id.textList });
lv.setAdapter(sa);


}

[解决办法]
这个具体的原因有谁可以尽善尽美的说的详细呢?
这也是为什么鼓励大家尽量使用本地API的原因。
[解决办法]
一、正则一般都是第三方库,不是系统库
二、功能的强大是以效率为代价的。
[解决办法]
正则比split快就没天理了...

split就是一次循环判断分割位置,正则一般情况下是虚拟机上跑的一个虚拟机
[解决办法]

探讨

正则比split快就没天理了...

split就是一次循环判断分割位置,正则一般情况下是虚拟机上跑的一个虚拟机

[解决办法]
探讨

引用:

正则比split快就没天理了...

split就是一次循环判断分割位置,正则一般情况下是虚拟机上跑的一个虚拟机

....
那也太慢了吧!
我用.NET的速度都没这么慢过!
。。。。。
不知道JAVA是怎么回事!
我等了快20秒以上!
有时还卡死!

热点排行