자바 list 세 가지 스 트 리밍 방법 성능 비교

2003 단어 자바
c / c + + 언어 에서 자바 개발 로 전환 하여 자바 언어 list 를 옮 겨 다 니 는 세 가지 방법 을 배 우 는 동시에 여러 가지 옮 겨 다 니 는 방법의 성능 을 테스트 합 니 다. 테스트 방법 은 Array List 에 1 천만 개의 기록 을 삽입 한 다음 에 Array List 를 옮 겨 다 니 며 이상 한 현상 을 발 견 했 습 니 다. 테스트 코드 는 다음 과 같 습 니 다.
 
package com.hisense.tiger.list;



import java.util.ArrayList;

import java.util.Iterator;

import java.util.List;



public class ListTest {

	public static void main(String[] args)

	{

		List<String> list = new ArrayList<String>();

		long t1,t2;

		for(int j = 0; j < 10000000; j++)

		{

			list.add("aaaaaa" + j);

		}

		System.out.println("List first visit method:");

		t1=System.currentTimeMillis();

		for(String tmp:list)

		{

			//System.out.println(tmp);

		}

		t2=System.currentTimeMillis();

		System.out.println("Run Time:" + (t2 -t1) + "(ms)");

		System.out.println("List second visit method:");

		

		t1=System.currentTimeMillis();

		for(int i = 0; i < list.size(); i++)

		{

			list.get(i);

			//System.out.println(list.get(i));

		}

		t2=System.currentTimeMillis();

		System.out.println("Run Time:" + (t2 -t1) + "(ms)");

		

		System.out.println("List Third visit method:");

		Iterator<String> iter = list.iterator();

		

		t1=System.currentTimeMillis();

		while(iter.hasNext())

		{

			iter.next();

			//System.out.println(iter.next());

		}

		t2=System.currentTimeMillis();

		System.out.println("Run Time:" + (t2 -t1) + "(ms)");

				

		System.out.println("Finished!!!!!!!!");

		

		

	}

}

 
    테스트 결 과 는 다음 과 같다.
List first visit method: Run Time:170(ms) List second visit method: Run Time:10(ms) List Third visit method: Run Time:34(ms) Finished!!!!!!!!
    테스트 의 결론 은 매우 이상 합 니 다. 첫 번 째 방법 은 자바 언어 가 지원 하 는 새로운 문법 입 니 다. 코드 가 가장 간결 합 니 다. 그러나 세 가지 방법 중에서 성능 이 가장 떨 어 집 니 다. size 를 취하 여 옮 겨 다 니 는 성능 이 가장 높 습 니 다. 소 에 게 설명 을 구 합 니까?
    
     

좋은 웹페이지 즐겨찾기