Java

· Java
배열 복사1차원 배열1. System.arraycopy 사용배열을 빠르게 복사하는 데 사용int[] original = {1, 2, 3, 4, 5};int[] copy = new int[original.length];System.arraycopy(original, 0, copy, 0, original.length);파라미터 1. original (원본 배열의 현재 행): 2차원 배열 original의 i번째 행. 각 행은 1차원 배열로 취급. 2. 0 (원본 배열에서의 시작 위치): 복사를 시작할 원본 배열의 인덱스. 여기서는 각 행의 처음부터 복사를 시작하므로 0. 3. copy (목적지 배열의 현재 행): 2차원 배열 copy의 i번째 행. 복사된 데이터를 저장할 대상 배열의 행. 4. 0 (목적지 ..
· Java
Intro 코딩테스트에서 문자열을 변경하는 연산이 많을 때 흔히 StringBuilder를 사용한다. 성능상에 이점이 있어 그렇다고 하는데 구체적으로 왜 이점이 발생하는지 알아보고자 한다. String vs StringBuilder String은 이뮤터블 객체(Immutable Object)이다. 즉, 객체의 값을 변경할 수 없고 값을 변경하게 되면 다른 객체가 생성된다. 반면 StringBuilder는 뮤터블 객체(Mutable Object)이다. 즉, 객체의 값을 변경해도 기존 객체가 유지된다. 바로 이점이 성능의 차이를 발생시키는 것이다. 객체에 hello를 할당 한 뒤, 이후에 world를 추가한다고 했을 때: 1) String String s = "hello"; System.out.println..
· Java
이뮤터블 객체(Immutable Object) 이뮤터블 객체는 생성 후 그 상태가 변하지 않는 객체를 말한다. Java에서 대표적인 이뮤터블 객체로는 String, Integer, Float, Long 등이 있다. 정의만 보면 잘 와닿지가 않는다. 생성 후 상태가 변하지 않는다는 게 무슨말일까? 다음의 예시를 보면 이해가 쉽다. String s = "hello"; System.out.println(System.identityHashCode(s)); // 245257410 s += "world"; System.out.println(System.identityHashCode(s)); // 1283928880 System.identityHashCode(): 객체를 특정할 수 있는 식별값을 반환하는 메서드이다...
jaehee1113
'Java' 카테고리의 글 목록 (3 Page)