【发布时间】:2011-11-16 21:22:06
【问题描述】:
我有一个整数的 java ArrayList
ArrayList <Integer> ageList = new ArrayList <Integer>();
我在这个 arrayList 中有一些整数值。我想创建一个新的 ArrayList,它包含上述 arrayList 中的所有元素,这些元素通过一个条件,比如 25 到 35 之间的值。即,如果我的 ageList 包含值
{12,234,45,33,28,56,27}
我的 newList 应该包含
{33,28,27}
我怎样才能做到这一点?
注意:我是从 Objective C 背景来到 java 的,在那里我使用 NSPredicate 轻松地做这样的事情..java中有任何类似的方法吗?
【问题讨论】:
-
循环遍历列表不行吗?
-
当然可以,但我已经是一个大约 100 次迭代的循环,我必须在该循环中执行上述操作..另外我要求更快的方法
-
我认为你做了一个很大的假设; ObjectiveC 实现也会循环它,只是你不会看到循环,因为它被一个特性所掩盖。 NSPredicate 的底层实现仍然需要遍历数组来评估每个元素。
-
我只是希望您知道,使用下面提到的工具包(特别是 lambdaj),相对于迭代而言,性能会受到影响……至少据我所知。
-
投反对票的人请注意评论,这样我就可以理解我做错了什么..
标签: java search filter arraylist