본문 바로가기

언어공부/Java

(83)
자바 List인터페이스, ArrayList, LinkedList 자바 List인터페이스, ArrayList, LinkedList에 대해서 알아보자 List인터페이스 List인터페이스는 순서가 있는 데이터의 집합으로 데이터의 중복을 허용한다. (예를 들어 대기자 명단.) 구현클래스들은 Vector, Stack, ArrayList, LinkedList가 있다. ArrayList ArrayList는 컬렉션 프레임워크에서 가장 많이 사용되는 컬렉션 클래스이다. 이 ArrayList는 List인터페이스를 구현하기 때문에 데이터의 저장순서가 유지되고 중복을 허용한다. ArrayList는 기존의 Vector를 개선한 것으로 Vector와 구현원리, 기능적인 측면에서 동일하다고 할 수 있다. Vector는 기존에 작성된 소스와의 호환성을 위해서 계속 남겨두고 있을 뿐이기 대문에 가..
자바 컬렉션(collection), 컬렉션 프레임워크, 컬렉션 인터페이스의 메소드 자바 컬렉션(collection)에 대해서 알아보자. 컬렉션 프레임워크(Collection Framework) 컬렉션 프레임워크는 다수의 데이터 그룹을 저장하는 클래스들을 표준화한 설계를 뜻한다. Java API문서에는 컬렉션 프레임워크를 데이터 그룹으로 다루고 표현하기 위한 단일화된 구조(architecture)라고 정의하고있다. JDK1.2 이전까지는 Vector, Hashtable와 같은 컬렉션 클래스, 다수의 데이터를 저장할 수 있는 클래스들을 서로 다른 각자의 방식으로 처리해야 했으나 1.2부터는 컬렉션 프레임워크가 등장하면서 다양한 종류의 컬렉션 클래스가 추가되고 모든 컬렉션 클래스를 표준화된 방식으로 다룰 수 있도록 체계화되었다. 컬렉션의 특징으로는 복수개의 타입을 동시 저장할 수 있고 복수..
자바 Calendar 클래스 자바 Calendar 클래스에 대해 알아보자. Calendar 클래스 calendar는 추상클래스이기 때문에 직접객체를 생성할 수 없고, 메소드를 통해서 완전히 구현된 클래스의 인스턴스를 얻어야 된다. Calendar.getInstance();메소드를 이용해 Calendar클래스를 상속받는 다른 클래스 객체를 생성한다. java.util.Calendar를 import해줘야 한다. 보통 년/월/일/시/분/초 값을 반환할 때 많이 사용되는 클래스로, get()메소드를 이용해 값을 사용한다. 다만, 월을 반환할때는 0부터 시작되기 때문에, +1을 해주어 1월로 맞춰주는게 좋다. (0~11이 반환되기 때문에 +1을 해주어 1~12로 맞춰주는게 좋다.) ex)
자바 StringTokenizer클래스로 문자열 분리 자바 StringTokenizer클래스에 대해서 알아보자. StringTokenizer클래스 StringTokenizer클래스는 말그래도 문자열을 토큰화해서 문자열을 분리할 수 있는 클래스이다. 해당 클래스를 사용하려면 "java.util.StringTokenizer"를 import해줘야 한다. StringTokenizer를 생성하는 방법은 아래와 같다. import java.util.StringTokenizer; public class StringTokenEx { public static void main(String[] args) { StringTokenizer phone=new StringTokenizer("010 9999 9999"); //띄어쓰기 기준으로 문자열을 분리 StringTokenize..
자바 래퍼(Wrapper)클래스, 오토박싱, 언박싱 자바 래퍼(Wrapper)클래스, 오토박싱, 오토언박싱에 대해 알아보자 래퍼(Wrapper)클래스 래퍼클래스는 자바의 기본 자료형 8개를 포장해서 클래스화 한것을 뜻한다. 때로는 기본형 변수도 객체로 다뤄야 하는 경우가 있는데 예를 들어 매개변수로 객체를 요구할 때, 기본형 값이 아닌 객체로 저장해야할 때, 객체간의 비교가 필요할 때 등등의 경우에는 기본형 값들을 객체로 변환하여 작업을 수행해야 한다. 래퍼 클래스의 생성자는 매개변수로 문자열이나 각 자료형들의 값들을 인자로 받는다. 이 때 주의해야할 것은 생성자의 매개변수로 문자열을 제공할 때, 각 자료형에 알맞은 문자열을 사용해야 한다. ex) new Integer("1.0"); // >>NumberFormat Exception발생 래퍼 클래스들은 모..
자바 StringBuffer 클래스, StringBuffer 클래스의 메소드 자바 StringBuffer 클래스에 대해서 알아보자. StringBuffer클래스 String클래스는 인스턴스를 생성할 때 지정된 문자열을 변경할 수 없지만 StringBuffer클래스는 변경이 가능하다. 내부적으로 문자열 편집을 위한 버퍼(buffer)를 가지고 있으며, StringBuffer인스턴스를 생성할 때 그 크기를 지정할 수 있다. append()로 매개변수에 입력된 값을 문자열로 변환하여 StringBuffer인스턴스가 저장하고 있는 문자열 뒤에 덧붙인다. public class StringBuffer01 { public static void main(String[] args) { StringBuffer sb=new StringBuffer("XX"); sb.append("YY");//sb의..
자바 String클래스의 다양한 메소드 자바 String클래스의 다양한 메소드에 대해서 알아보자. String클래스의 다양한 메소드 String toUpperCase() : String인스턴스에 저장되어있는 모든 문자열을 대문자로 변환하여 반환한다. String toLowerCase() : String인스턴스에 저장되어있는 모든 문자열을 소문자로 변환하여 반환한다. int length() : 문자열의 길이를 알려준다. String trim() : 문자열의 왼쪽 끝과 오른쪽 끝에 있는 공백을 없앤 결과를 반환한다. 이 때 문자열 중간에 있는 공백은 제거되지 않는다. String concat(String str) : 문자열(str)을 뒤에 덧붙인다. char charAt(int index) : 지정된 위치(index)에 있는 문자를 알려준다. (..
자바 String 클래스, 문자열 리터럴(String리터럴), String클래스의 메소드 -equals()메소드, equalsIgnoreCase()메소드 자바 String클래스에 대해서 알아보자. String클래스 자바에서는 문자열을 위한 클래스를 제공한다. 바로 String클래스로 문자열을 저장하고 이를 다루는데 필요한 메소드를 함께 제공한다. String클래스는 변경 불가능한 클래스이다. 일단 클래스가 final로 다른 클래스의 조상이 될 수 없다. 그리고 문자열을 저장하기 위해서 문자형 배열 참조변수 char[] value;를 인스턴스 변수로 정의해놓고 있다. 인스턴스 생성 시 생성자의 매개변수로 입력받는 문자열은 이 인스턴스 변수(value)에 문자형 배열(char[])로 저장된다. 한번 생성된 String인스턴스가 갖고있는 문자열은 읽어올수만 있고, 변경할 수는 없다. '+'연산자로 문자열을 결합하는 경우 인스턴스 내 문자열이 바뀌는 것이 아니라..