프로그래밍/java 3

[자료구조] 배열(Array)의 정의 및 장단점, 기본 사용법

배열이란? 동일한 자료형(Data Type)의 데이터를 연속된 공간에 저장하기 위한 자료구조이다. 즉, 연관된 데이터를 그룹화하여 묶어준다고 생각하면 된다. 장점 인덱스를 이용한 항목 접근 속도가 빠르다. 배열이 선언되면 자료형에 따라 배열 항목의 크기가 결정된다. 4byte int 데이터를 담는 배열을 선언할 경우 항목 크기 역시 4byte가 된다. 배열의 기본 주소는 배열의 맨 처음 부분을 가리키고, 블럭단위로 메모리를 차지한다. 따라서 "기본주소 + (데이터크기 * index)"로 특정 인덱스에 위치한 항목에 접근할 수 있다. 예를 들어 int 배열 5번 인덱스에 접근하려면 "기본주소 + (4 * 5)"를 계산한 결과로 나온 메모리주소를 찾아가면 된다. 이처럼 위치에 상관없이 한 번의 연산으로 찾고..

[String] String 클래스 메소드 정리

자주 사용하는 String 클래스의 메소드들을 정리해보려고 한다. startsWith : 문자열이 지정한 문자로 시작하는지 판단, 같으면 true 다르면 false 반환. (대소문자 구별) String str = "apple"; boolean result = str.startsWith("a"); System.out.println(result); // true endsWith : 문자열 마지막이 지정한 문자로 끝나는지 판단, 같으면 true 다르면 false 반환. (대소문자 구별) String str = "apple pie"; boolean result = str.endsWith("e"); System.out.println(result); // true equals : 두개의 String의 값만을 비교해..

[String] String, StringBuffer, StringBuilder 차이

Java 에서 문자열을 다루는 대표적인 클래스로 String, StringBuffer, StringBuilder가 있다. 연산이 많지 않을 때는 위에 나열된 어떤 클래스를 사용하더라도 크게 문제가 되진 않는다. 그러나 연산 횟수가 많아지거나 멀티 쓰레드 등의 상황이 발생 한다면 각 클래스의 특징을 이해하고 상황에 맞는 적절한 클래스를 사용해 주어야 한다. String vs StringBuffer / StringBuilder String과 StringBuffer/StringBuilder 클래스의 가장 큰 차이점은 String은 불변(immutable) 의 속성을 갖는다는 점이다. String str = "hello"; // String str = new String("hello"); str += " wor..