import java.util.Stack;
public class Sample {
public static void main(String[] args) {
Stack<Integer> stack = new Stack<>();
stack.push(1);
stack.push(2);
stack.push(3);
int sum = 0;
while (!stack.isEmpty()) {
sum += stack.pop();
}
System.out.println(sum); // Stack 합계 구하기
Stack<Integer> stack2 = new Stack<>();
stack2.push(1);
stack2.push(2);
stack2.push(3);
sum = stack2.stream().mapToInt(Integer::intValue).sum();
System.out.println(sum); // Stream을 이용한 Stack 합계 구하기
}
}
자바에서 Stack의 합계를 구하려면 while을 이용해서 stack을 비워가며 합계를 구하는 방법과, Stream을 사용해서 합계를 구하는 방법이 있는데 차이점은 while과 pop을 사용할 경우 합계를 구한 후 stack은 모두 비워지게 되지만
Stream을 사용할 경우 Stack을 비우지 않고 합계를 구할 수 있다.
Leave a Reply