Java 37

[Java] HashMap 클래스

HashMap은 Map을 구현한 클래스로 키(Key)와 값(Value)을 하나로 묶어서 하나의 데이터 (Entry)로 저장한다는 특징을 갖는다. 그리고 해싱을 사용하기 때문에 많은 양의 데이터를 검색하는데 좋다. HashMap은 Entry라는 내부 클래스를 정의하고 Entry 클래스 안에 key와 value를 선언한다. 그리고 HashMap에는 Entry 배열을 선언한다. (키와 값이 서로 관련된 값이기 때문에 하나의 클래스로 다루는 것) 키(key)는 컬렉션 내의 키 중에서 유일해야 한다. 값(value)는 데이터의 중복을 허용한다. 주요 메서드 boolean containsKey(Object key) 키가 포함되어 있는지 확인 boolean containsValue(Object value) 값이 포함..

Java 2021.05.27

[Java] TreeSet 클래스

TreeSet은 이진 검색 트리 자료구조의 형태로 데이터를 저장하는 컬렉션 클래스이다. 이진 검색 트리는 정렬, 검색, 범위 검색에 높은 성능을 보이는 자료구조로 TreeSet은 '레드-블랙 트리'로 구현되어 있다. Set 인터페이스를 구현했기 때문에 중복된 데이터의 저장을 허용하지 않고, 정렬된 위치에 저장하므로 저장 순서를 유지하지도 않는다. 2021.04.28 - [Algorithm] - [Algorithm] 이진검색트리 [Algorithm] 이진검색트리 검색트리 개체의 레코드를 저장하고 검색하기 위한 트리 형태의 자료구조 *레코드 : 개체에 대한 모든 정보를 포함한다. 어떤 사람이 레코드라면, 직장, 주민번호, 이름, 집 주소 등이 포함될 수 youngssse.tistory.com 주요 메서드 b..

Java 2021.05.26

[Java] Comparator와 Comparable

Comparator와 Comparable은 모두 인터페이스로 컬렉션을 정렬하는데 필요한 메서드를 정의하고 있다. Comparable을 구현하고 있는 클래스들은 같은 타입의 인스턴스끼리 서로 비교할 수 있는 클래스들이다. 기본적으로 오름차순으로 정렬되도록 구현되어 있다. 인터페이스 소스 코드 public interface Comparator { int compare(Object o1, Object o2); boolean equals(Object obj); } public interface Comparable { public int compareTo(Object o); } Comparator는 compare 메서드와 equals 메서드를 정의하고 있지만, equals 메서드는 모든 클래스가 가지고 있는 공통..

Java 2021.05.25

[Java] Arrays 클래스

Arrays 클래스는 배열을 다루는데 유용한 메서드가 정의되어 있다. static 클래스로 인스턴스 생성하지 않아도 사용할 수 있다. 배열의 복사 배열을 복사하는 메서드. copyOf(Object[] arr) : 배열 전체를 복사한다. copyOf(Object[] arr, int size) : 배열을 size만큼 복사한다. copyOfRange(Object[] arr, int from, int to) : from부터 to 이전까지 (to는 미포함) 배열 채우기 fill(Object[] o, Object value) : 주어진 배열을 value로 채운다. (배열 타입에 주의) setAll(Object[] o, Function lambda) : 람다식이 반환한 결과 값으로 배열을 채운다. int[] arr ..

Java 2021.05.24

[Java] LinkedList

배열은 구조가 간단해 사용하기 쉽고 데이터를 빠르게 읽어올 수 있지만, 크기를 변경할 수 없고, 순차적이지 않은 데이터의 추가나 삭제에 시간이 많이 걸린다. 이런 단점을 보완하기 위해 Linked List라는 자료구조를 사용한다. 배열은 특정 주소부터 연속적으로 값을 저장한다. (저장된 객체의 타입의 사이즈만큼 간격) Linked List는 하나의 노드에서 값과 다음 노드의 주소 값을 갖는다. 연속적으로 두지 않아도 다음 노드를 주소로 참조하여 사용할 수 있다. (단방향이지만, Double Linked List는 이전 노드의 주소도 갖는 양방향) 메서드 boolean add(Object o) 지정된 객체를 끝에 추가, 성공하면 true. void add(int index, Object element) 지..

Java 2021.05.22

[Java] ArrayList

List 인터페이스를 구현한 클래스 데이터의 저장순서가 유지되고 중복을 허용한다. 메서드 boolean add(Object o) : ArrayList의 마지막에 객체를 추가한다. 성공하면 true 반환 void add(int index, Object element) : 지정된 위치 (index)에 객체를 저장한다. void clear() : 완전히 비운다. Object clone() : 복제한다. boolean contains(Object o) : 지정된 객체가 포함되어 있는지 확인한다. Object get(int index) : 지정된 위치에 저장된 객체를 가져온다. int indexOf(Object o) : 지정된 객체가 있는 위치를 반환한다. boolean isEmpty() : 비어있는지 확인한다...

Java 2021.05.21

[Java] java.time 패키지

기존의 Date와 Calendar 클래스의 단점을 보완하여 JDK 1.8부터 java.time 패키지가 추가되었다. String 클래스와 같이 불변(immutable)한 특징을 갖는다. 핵심 클래스 LocalDate 날짜를 표현하는 클래스. LocalTime 시간을 표현하는 클래스. LocalDateTime 날짜와 시간을 표현하는 클래스. ZonedDateTime 날짜와 시간에 시간대까지 표현하는 클래스. Period 날짜간의 차이를 표현하기 위한 클래스 Duration 시간의 차이를 표현하기 위한 클래스 객체 생성 LocalDate date = LocalDate.now(); LocalTime time = LocalTime.now(); LocalDate date1 = LocalDate.of(2015, 1..

Java 2021.05.20

[Java] 형식화 (Format)

java.text 패키지에 포함되어 있으며 숫자, 날짜, 텍스트 데이터를 일정한 형식에 맞게 표현할 수 있는 방법을 객체지향적으로 설계하여 표준화하였다. 예를 들어, 입력된 날짜에 대해서 출력할 때 원하는 형식으로 출력하기 위해서는 파싱하는 작업들이 복잡하게 진행된다. (년, 월, 일, 시, 분, 초를 각각 얻어서 정리) 이를 형식화 클래스로 쉽게 해결할 수 있다. DecimalFormat 숫자를 형식화 하는데 사용된다. 숫자 데이터를 정수, 소수점, 금액 등의 다양한 형식으로 표현할 수 있으며 텍스트 데이터를 숫자로 변환하는 것도 가능하다. 패턴을 정의하고 사용해야 한다. 패턴은 기호를 통해 작성된다. DecimalFormat은 선언과 함께 패턴을 전달하고 format() 메서드를 이용해 변환된 문자열..

Java 2021.05.19

[Java] 날짜와 시간 (Calendar, Date)

Date는 날짜와 시간을 다루는 목적으로 사용된다. 하지만 Date 클래스는 날짜와 시간을 다루기에 기능이 부족했기 때문에 Calendar라는 새로운 클래스가 추가되었다. (1.8부터는 java.time 패키지로 Date와 Calendar로 부족한 기능을 개선한 새로운 클래스가 추가되었다.) Calendar는 추상 클래스이기 때문에 직접 객체를 생성할 수 없다. Calendar cal = new Calendar(); // Error Calendar cal = Calendar.getInstance(); // OK Date와 Calendar 간의 변환 // Calendar -> Date Calendar cal = Calendar.getInstance(); Date d = new Date(cal.getTime..

Java 2021.05.18

[Java] String 클래스

String 클래스는 문자열과 관련된 클래스 선언 String str = "abc"; char[] data = {'a', 'b', 'c'}; String str = new String(data); 사용 String class는 구성하는 문자를 조사하거나, string을 비교, 검색, 일부를 추출, 복사 등의 기능을 가진 메서드를 포함한다. '+' 연산자를 통해 두 개의 string을 합치기도 한다. 주요 메서드 charAt(int index) : index에 위치한 문자를 리턴한다. char 타입으로 리턴된다. compareTo(String anotherString) : 사전적으로 두 개의 string을 비교한다. int 타입이 리턴된다. a.compareTo(b)라고 했을 때, a == b이면 0, a..

Java 2021.05.10
반응형