반응형

*StringBuffer이용에 따른 수행 시간

- StringBuffer를 이용한 연산이 일반 연산을 이용할 때보다 결과를 도출해내는데 걸리는 시간이 짧다. (성능 향상에 도움이 된다.)

public class StringBufferPerformanceTest{
    public static void main(String[] args){
        // (1) String의 +연산을 이용해서 10,000개의 *를 이어붙입니다.
        //시작시간을 기록합니다.(millisecond단위)
        long startTime1 = System.currentTimeMillis();
        String str="";
        for(int i=0;i<10000;i++){
            str=str+"*";
        }
        //종료시간을 기록합니다.(millisecond단위)
        long endTime1 = System.currentTimeMillis();
        
        // (2) StringBuffer를 이용해서 10,000개의 *를 이어붙입니다.
        //시작시간을 기록합니다.(millisecond단위)                
        long startTime2 = System.currentTimeMillis();
        StringBuffer sb = new StringBuffer();
        for(int i=0;i<10000;i++){
            sb.append("*");
        }
        //종료시간을 기록합니다.(millisecond단위)
        long endTime2 = System.currentTimeMillis();
        
        // 방법(1)과 방법(2)가 걸린 시간을 비교합니다.
        long duration1 = endTime1-startTime1;
        long duration2 = endTime2-startTime2;
        
        System.out.println("String의 +연산을 이용한 경우 : "+ duration1);
        System.out.println("StringBuffer의 append()을 이용한 경우 : "+ duration2);
    }
}

 

 

반응형

'알고리즘 > 프로그래머스, 백준, 구름' 카테고리의 다른 글

백준 15552 빠른 A+B 자바  (0) 2020.10.21
자바 알람 시계 문제  (0) 2020.10.20
map 자료구조  (0) 2020.06.04
set 자료구조  (0) 2020.06.04
Math 클래스  (0) 2020.06.04
반응형

*map 자료구조

- map은 key와 value를 쌍으로 저장하는 자료구조이다.

- 키는 중복될 수 없고, 값은 중복될 수 있다. 

- Map에 값을 추가하기 위해서는 put()을 이용한다.

import java.util.*;

public class MapExam{
    public Map<String, Integer> makeMap(){
        Map<String, Integer> products = new HashMap<>();
        
		// map에 값 추가
        products.put("가위", 2500);
        products.put("크레파스", 5000);
        
        return products;
    }
    
    public static void main(String[] args){
    }
}
반응형

'알고리즘 > 프로그래머스, 백준, 구름' 카테고리의 다른 글

자바 알람 시계 문제  (0) 2020.10.20
StringBuffer이용에 따른 수행 시간  (0) 2020.06.13
set 자료구조  (0) 2020.06.04
Math 클래스  (0) 2020.06.04
스트링 버퍼(StringBuffer)  (0) 2020.06.03
반응형

*set 자료구조

- 중복과 순서가 없는 자료구조이다.

- set은 이미 있는 값이면 중복된 값을 더해도 하나만 유지된다. 

import java.util.*;

public class SetExam{
    public static void main(String[] args){
    
    	// set 자료구조.
        
        Set<String> set = new HashSet<String>();
        set.add("a");
        set.add("a");
        set.add("b");
        
        // 중복된 값을 추가해도 set 자료구조 내에는 a, b만 존재.
        System.out.println("set의 내용을 출력합니다.");
        for(String str : set){
            System.out.println(str);
        }
    }
}
반응형
반응형

*Math 클래스

- Math 클래스는 수학계산을 위한 클래스로 객체를 생성할 수는 없지만, 모든 메소드와 속성이 static으로 정의되어 있어 객체를 생성하지 않고도 사용이 가능하다.

Math.max(5, 20);    // value1 = 5    :  5, 20중 큰 값을 고릅니다.
Math.min(5, -5);    // value2 = -5   :  5, -5중 작은 값을 고릅니다.

Math.abs(-10);      // value3 = 10   :  -10의 절댓값을 구합니다

Math.random();   // 0이상 1.0 미만의 랜덤한 실수값을 구합니다.

Math.sqrt(25);   // value5 = 5.0  :  25의 제곱근을 구합니다.

Math.pow(2, 10); // 2의 10승. 제곱근을 구한다. 

Math.log10(200); // log200. log값을 구한다.
반응형

'알고리즘 > 프로그래머스, 백준, 구름' 카테고리의 다른 글

map 자료구조  (0) 2020.06.04
set 자료구조  (0) 2020.06.04
스트링 버퍼(StringBuffer)  (0) 2020.06.03
래퍼 클래스(wrapper class), 오토 박싱, 오토 언박싱  (0) 2020.06.03
인터페이스  (0) 2020.06.01

+ Recent posts