java – 迭代列表,修改每个元素:有更快的方法吗?
发布时间:2020-12-15 02:50:40 所属栏目:Java 来源:网络整理
导读:我有一个字符串列表,我想修剪()列表中的每个元素. 目前,我正在使用ArrayList,对元素进行简单循环,并将修剪后的元素添加到返回列表中,如下所示: int listLen = listToTrim.size();ListString trimmedList = new ArrayListString( listLen );for ( int i = 0;
我有一个字符串列表,我想修剪()列表中的每个元素.
目前,我正在使用ArrayList,对元素进行简单循环,并将修剪后的元素添加到返回列表中,如下所示: int listLen = listToTrim.size(); List<String> trimmedList = new ArrayList<String>( listLen ); for ( int i = 0; i < listLen; i++ ) { trimmedList.add( listToTrim.get( i ).trim() ); } return trimmedList; 对于大型列表,会有更有效的方法吗? 解决方法
不,你很好.这和它的效率一样高效.没有魔法可以避免迭代.
有一点要记住,’但是:如果listToTrim不是随机访问列表(即它没有实现 修改代码以使用增强的for循环看起来像这样: public List<String> trimStrings(Listy<String> listToTrim) { List<String> trimmedList = new ArrayList<String>(listToTrim.size()); for (String str : listToTrim) { trimmedList.add(str.trim()); } return trimmedList; } 如果您不再需要原始列表,则重新使用原始列表可以节省内存并提高性能: public void trimStringsInPlace(List<String> listToTrim) { ListIterator<String> it = listToTrim.listIterator(); while (it.hasNext()) { it.set(it.next().trim()); } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- java – Spring Rest – 发送文件列表时的异常
- 多线程 – Qt应用程序中的线程和事件循环
- Writing Images to the Excel Sheet using PHPEx
- java – 是否可以以编程方式将存储在amazon s3上
- java – 仅获取时间戳记的日期
- Object转json字符串,Object转Map,Map转Object
- CountDownLatch源码解析之await()
- java – 如何阻止Hibernate急切地获取多对一的关
- java – 如何使用setSelection在swt表上设置选择
- OS X上的Java Web Start应用程序的不明开发人员
热点阅读