[자바 코테] Wrapper class와 primitive type

Update:     Updated:

카테고리:

태그:

들어가며..

솔직히 가장 번거로운 부분이 아닌가 싶다..
코테에서 자주 접하는 자료형 및 래퍼 클래스 위주로 정리해보자.

Integer

  • static method
    • Integer.valueOf(String s), Integer.valueOf(int i) —> return Integer
    • Integer.parseInt(String s) —> return int
    • Integer.toString(int i) —> return String
  • instance method
    • i.intValue() —> return int
    • i.toString() —> return String

String

  • static method
    • String.valueOf(int i), String.valueOf(char c) —> return String

Character

  • static mechod
    • Character.valueOf(char c) —> return Character
    • Character.toString(char c) —> return String
  • instance method
    • c.charValue() —> return char
    • c.toString() —> return String

스트림 다루기

프로그래머스 같은 환경에서 자바는 주로 입력 인자를 배열로 준다.(파이썬 마렵다..)
하지만, 막상 배열 자체로는 활용하기가 껄끄럽다.
필요에 의해서 리스트로 변환해서 문제를 풀어야한다면 stream을 이용하여 배열을 리스트로 바꾸는 법을 익혀두자. (박싱와 언박싱, 자료형 변환의 향연..)

import java.io.*;
import java.util.*;
import java.util.stream.*;

public class Main {
    public static void main(String[] args) throws IOException{
        int[] iArray = {1, 2, 3, 4, 5};

        // int Array -> Integer List
        List<Integer> iToIList = Arrays.stream(iArray)
                .boxed()
                .collect(Collectors.toList());

        // int Array -> String List
        List<String> iToSList = Arrays.stream(iArray)
                .mapToObj(String::valueOf)
                .collect(Collectors.toList());

        /////////////////////////////////////////////////////////

        List<Integer> iList = Arrays.asList(1, 2, 3, 4, 5);

        // Integer List -> int Array
        int[] IToiArray = iList.stream()
                .mapToInt(i -> i.intValue())
                .toArray();

        // Integer List -> String List
        List<String> IToSList = iList.stream()
                .map(i -> i.toString())
                .collect(Collectors.toList());

        ////////////////////////////////////////////////////////////

        List<String> sList = Arrays.asList("1", "2", "3", "4", "5");

        // String List -> Integer List
        List<Integer> SToIList = sList.stream()
                .map(Integer::valueOf)
                .collect(Collectors.toList());

        // String List -> int Array
        int[] SToiArray = sList.stream()
                .mapToInt(Integer::parseInt)
                .toArray();

        ////////////////////////////////////////////////////////////

        String[] sArray = {"1", "2", "3", "4", "5"};

        // String Array -> String List
        List<String> sToSList = Arrays.stream(sArray)
                .collect(Collectors.toList());

        // String Array -> Integer List
        List<Integer> sToIList = Arrays.stream(sArray)
                .map(Integer::valueOf)
                .collect(Collectors.toList());
    }
}

Java Coding Test 카테고리 내 다른 글 보러가기

댓글 남기기