我是编程新手。我在编写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);