program/java
[java] for 문에서 객체의 size 선언법
베짱2
2012. 10. 5. 11:27
반응형
Q. for 문에서 객체의 size 위치별 성능 차이를 알아보자.
ArrayListarr = new ArrayList (); for( int i = 0; i < 1000000; i++ ) arr.add( i ); for( int i = 0; i < arr.size(); i++ ) arr.get( i );
보다는
ArrayListarr = new ArrayList (); for( int i = 0; i < 1000000; i++ ) arr.add( i ); int size = arr.size(); for( int i = 0; i < size; i++ ) arr.get( i );
위에와 아래와의 차이는 for 구문에 객체.size() 를 넣느냐의 차이이다.
실제로 소스를 돌려본결과 0.01초 정도의 미묘한 차이를 보였다.
그렇게 따지면 아주 약간의 차이만 있다는 뜻이다.
결론
for 구문 속에 객체.size() 가 있으면 계속해서 객체의 size 를 읽어드리는 불필요한 작업을 하게된다.
그렇기 때문에 for 문 밖에 int 를 선언하여 size를 저장한다음
for문을 돌려보는걸 권한다.
※ 검증시 아주 미묘한(0.01초) 차이였다. 하지만 좋은 프로그래밍을 위한 습관을 들이는 것이 중요하다.
반응형