2023/01 5

[JAVA] Properties 란?

Properties 란? Properties는 HashMap의 구버전인 Hashtable을 상속받아 구현한 것으로, Hashtable은 키와 값을 (Object, Object)의 형태로 저장하는데 비해 Properties는 (String, String)형태로 저장하는 보다 단순화된 컬렉션 클래스이다. 주로 애플리케이션의 환경설정과 관련된 속성을 저장하는데 사용되며 데이터를 파일로부터 읽고 쓰는 편리한 기능을 제공한다. 그래서 간단한 입출력은 Properties를 활용하면 몇 줄의 코드로 쉽게 해결할 수 있다. 간단한 예제로 사용하는 방법을 알아보자! public class PropertiesEx1 { public static void main(String[] args) { Properties prop =..

[JAVA] TreeMap 이란

TreeMap은 이진트리를 기반으로 한 Map 컬렉션이다. TreeSet과의 차이점은 TreeSet은 값만 저장 한다. 하지만 TreeMap은 키와 값의 쌍으로 이루어진 데이터를 저장한다. 그래서 검색과 정렬에 적합한 컬렉션 클래스이다. TreeMap은 일반적으로 HashMap보다 성능이 떨어진다. TreeMap은 데이터를 저장할 때 즉시 정렬하기에 추가나 삭제가 HashMap보다 오래 걸린다. 하지만 정렬된 상태로 Map을 유지해야 하거나 정렬된 데이터를 조회해야 하는 범위 검색이 필요한 경우 TreeMap을 사용하는 것이 효율성면에서 좋다. TreeMap 사용방법 TreeMap 선언 //TreeMap생성 TreeMap tmap1 = new TreeMap(); //타입 파라미터 생략가능 TreeMap ..

[JAVA] LinkedList

배열은 가장 기본적인 형태의 자료구조로 구조가 간단하고, 사용하기 쉽고 데이터를 읽어오는데 걸리는 시간이 가장 빠릅니다. 하지만 단점도 있다. 1. 크기를 변경할 수 없다. - 크기를 변경할 수 없으므로 새로운 배열을 생성해서 데이터를 복사해야한다. - 실행속도를 향상시키기 위해서는 충분히 큰 크기의 배열을 생성해야 하므로 메모리가 낭비된다. 2. 비순차적인 데이터의 추가 또는 삭제에 시간이 많이 걸린다. - 차례대로 데이터를 추가하고 마지막에서부터 데이터를 삭제하는 것은 빠르지만, 배열의 중간에 데이터를 추가하려면, 빈자리를 만들기 위해 다른 데이터들을 복사해서 이동해야 한다. 위와 같은 배열의 단점을 보완하기 위해 나타난 자료구조가 LinkedList이다. 배열은 모든 데이터가 연속적으로 존재하지만 ..

[JAVA] ArrayList 사용방법

ArrayList란? ArrayList는 Object배열을 이용해서 데이터를 순차적으로 저장한다. 배열에 저장할 공간이 없다면 더 큰 새로운 배열을 선언하여 기존 배열의 내용을 복사하여 붙여놓은 다음 새로운 내용을 순서대로 저장한다. List 인터페이스를 상속받아 사용함. ArrayList는 객체가 추가되어 용량을 초과하면 자동으로 부족한 크기만큼 용량이 늘어남. 배열은 데이터를 추가, 삭제 시 반복문으로 인덱스를 한 칸씩 밀거나 당기는 식으로 공간을 조절하지만 ArrayList는 이 과정을 자동으로 처리해주어서 편리하게 사용이 가능함. 즉, 장점과 단점을 정리해 보자면 장점 데이터에 순서가 있음 데이터의 중복 저장 허용 index를 통한 검색 빠름 단점 데이터 추가, 삭제가 느림 ArrayList 선언..

[JAVA] 컬렉션 프레임워크(collection framework)

컬렉션 프레임 워크란? 다수의 데이터들을 저장하는 클래스들을 표준화한 설계를 뜻한다. 즉, 다수의 데이터를 쉽고 효과적으로 처리할 수 있는 방법들을 제공하는 클래스들의 집합을 의미한다. 컬렉션 프레임워크의 핵심 인터페이스 - List 인터페이스 - Set 인터페이스 - Map 인터페이스 이 중에서 List와 Set 인터페이스는 모두 Collection 인터페이스를 상속받지만, 구조상의 차이로 인해 Map 인터페이스는 별도로 정의됨. 인터페이스 설명 구현 클래스 List 순서가 있는 데이터의 집합으로, 데이터의 중복을 허용함. Vector, ArrayList, LinkedList, Stack, Queue Set 순서가 없는 데이터의 집합으로, 데이터의 중복을 허용하지 않음. HashSet, TreeSet ..

728x90