我是Java的初学者。我有以下情况:
ArrayList
包含{10234, 20233, 34546, 43546, 59865, 70002, 92435, 200354}
用户输入20000
和50000
我想从ArrayList获取20000到50000之间的值,在这种情况下,我希望20233,34546,43546作为答案。
我该怎么做?
这是我到目前为止的代码:
int t1 = 20233, t2 = 59865;
int i = 0;
boolean foundt1, foundt2;
foundt1 = false;
found20 = false;
while (i < a.size && (!foundt2)) {
if (a.get(i) == 10) {
foundt1 = true;
}
if (foundt1) {
System.out.println(a.get(i));
}
if (a.get(i) == 20) {
foundt2 = true;
}
i++;
}
答案 0 :(得分:2)
以下是您要尝试做的一个示例。
import java.util.ArrayList;
import java.util.Arrays;
public class Test{
public static void main(String[] args) {
ArrayList<Integer> numberList = Arrays.asList(10234, 20233, 34546, 43546, 59865, 70002, 92435, 200354);
for(int nbr : numberList){ //goes through the list
if( nbr > 20000 && nbr < 50000){
System.out.println(nbr);
}
}
}
}
希望这有帮助!
最诚挚的问候,Goatcat
答案 1 :(得分:1)
您可以使用Guava library。
样本:
public static void main(String[] args) {
List<Integer> values = Arrays.asList(10234, 20233, 34546, 43546, 59865, 70002, 92435, 200354);
Iterable<Integer> filteredValues = Iterables.filter(values, Range.closed(20000, 50000));
for (Integer val : filteredValues) {
System.out.println(val);
}
}
输出结果为:
20233
34546
43546
您可以找到更多信息here