본문 바로가기

프로그래밍/JAVA

구분자로 ArrayList에 담기


1. 문자열을 배열로 만든 후 for 문을 이용해서 List 에 add 하는 방법
2. Arrays.asList() 를 이용하는 방법

1번 예제 코드
  String str = "1, 2, 3, 4, 5, 6, 7, 8, 9, 10";
  ArrayList<String> list = new ArrayList<String>();  
  String [] toColumnNm = str.split(",");
  for( int i = 0; i < toColumnNm.length; i++ ) {
   list.add(toColumnNm[i]);
  }

2번 예제 코드
String str = "1, 2, 3, 4, 5, 6, 7, 8, 9, 10";
List<String> obj = Arrays.asList(str.split(","));

2번이 확실히 깔끔함.

그렇다면, 성능 비교.

성능 비교용 테스트 코드
public class ArrayToListTest {
 public static void main(String[] args) {
  StopWatch watch = new StopWatch();

  // 1번 방법 100만번 호출
  for(int i = 0 ; i < 1000000 ; i++) {
   doIt("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
  }
  // 소요 시간 출력
  System.out.println(watch.getDuration());

  // 2번 방법 100만번 호출
  for(int i = 0 ; i < 1000000 ; i++) {
   doIt2("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
  }
  // 소요 시간 출력
  System.out.println(watch.getDuration());
 }

 // 1번 방법
 public static void doIt(String str) {
  ArrayList<String> list = new ArrayList<String>();  
  String [] toColumnNm = str.split(",");
  for( int i = 0; i < toColumnNm.length; i++ ) {
   list.add(toColumnNm[i]);
  }
 }
 
 // 2번 방법
 public static void doIt2(String str) {
  List<String> obj = Arrays.asList(str.split(","));
 }
}

결과
2829
2625

2번이 쪼끔 빠르다.

끝.


'프로그래밍 > JAVA' 카테고리의 다른 글

JAVA8 util.time  (0) 2018.07.04
java json 라이브러리 별 parser 속도 비교.  (0) 2018.03.17
OOP? 객체지향  (0) 2018.03.11
자바 정규식  (0) 2018.03.04
변수 토글 방법  (0) 2018.03.04