如何调用数组列表内循环的值,从外部的循环JAVA?



我是编程新手。我在编写JavaArrayList。我需要从for循环中得到的值数组,以便在循环之外进行更多的计算。我怎样才能完成呢?这里我需要309作为循环外的int

ArrayList<Integer> idNumber = new ArrayList(12);    //creat arraylist  
idNumber.add(1);
idNumber.add(9);
idNumber.add(9);
idNumber.add(9);
idNumber.add(3);
idNumber.add(0);
idNumber.add(9);
idNumber.add(0);
idNumber.add(4);
idNumber.add(6);
idNumber.add(7);
idNumber.add(0);
System.out.println(idNumber);  
for(int i = 4; i < 7; i++) {
System.out.print(idNumber.get(i));  
}

我相信下面的方法可以达到你的目的。

ArrayList<Integer> idNumber = new ArrayList(12);    //creat arraylist  
idNumber.add(1);
idNumber.add(9);
idNumber.add(9);
idNumber.add(9);
idNumber.add(3);
idNumber.add(0);
idNumber.add(9);
idNumber.add(0);
idNumber.add(4);
idNumber.add(6);
idNumber.add(7);
idNumber.add(0);
System.out.println(idNumber);  
int amount = 0;
for(int i = 4; i < 7; i++) {
amount = amount * 10 + idNumber.get(i);
}
System.out.print(amount);  

运行上面的代码打印309.

或者,您可以使用流API
// import java.util.stream.Collectors;
Integer value = idNumber.stream()
.skip(4)
.limit(3)
.collect(Collectors.reducing(Integer.valueOf(0), (a, i) -> a * 10 + i));
System.out.println(value);

您可以在这里看到完整的代码:https://www.jdoodle.com/iembed/v0/t8k

基本的东西就象下面可能为你工作。但是如果是为了更大的索引集,您可以使用StringBuilder。

String result = "";
for(int i = 4; i<7; i++)  {
result = result+idNumber.get(i);
}
Integer.valueOf(result);

相关内容

  • 没有找到相关文章

最新更新