For-Each

기본 forans vs 향상된 for문

# 기본 for문
for (int i = 0; i < al.size(); i++){
    int now = al.get(i);
    System.out.print(now)
}

# 향상된 for문
for (int i : al){
    System.out.println(i + " ");
}
  • 향상된 for문(for-each문)을 사용하면 코드가 간결해진다.

  • 속도나 메모리면에서 일반적인 for문과 큰 차이가 없다.

Priority Queue의 경우 주의 사항

// 
PriorityQueue<Integer> pq = new PriorityQueue<>();
pq.offer(4);
pq.offer(5);
pq.offer(1);
pq.offer(2);
pq.offer(3);

for (int i : pq){
    System.out.print(i + " ");
}
while(!pq.isEmpty()) {
    System.out.print(pq.poll() + " ");
}

>>>
1 2 4 5 3
1 2 3 4 5 (정상적인 PQ 사용 결과)
  • 우선순위 큐 경우, poll로 꺼내야 정렬된 순으로 값을 얻을 수 있다.

그냥 큐를 쓰면 어떨까?

Last updated