Languages/Java20 [Java] 컬렉션 프레임워크 (Collection Framework) (4) 검색 기능 강화 컬렉션 - TreeSet, TreeMap 컬렉션 프레임워크는 검색 기능을 강화시킨 TreeSet과 TreeMap을 제공하고 있다. TreeSet은 Set 컬렉션이고, TreeMap은 Map 컬렉션이다. 이 컬렉션들은 이진트리를 이용해서 계층적 구조를 가지면서 객체를 저장한다. (1) TreeSet TreeSet은 이진트리를 기반으로한 Set 컬렉션이다. 하나의 노드는 노드값은 value와 왼쪽과 오른쪽 자식노드를 참고하기 위한 두개의 변수로 구성된다. TreeSet에 객체를 저장하면 자동으로 정렬된다. 부모값과 비교해서 낮은 것은 왼쪽 자식 노드에, 높은 것은 오른쪽 자식 노드에 저장 생성 방법 TreeSet treeSet = new TreeSet(); Set 인터페이스 타입 변수가 아니라 TreeSet 클래스 타입으로 입한 이유는 객체를 찾거.. 2021. 12. 27. [Java] 컬렉션 프레임워크 (Collection Framework) (3) Map 컬렉션 Map 컬렉션 Map 컬렉션은 키(key)와 값(value)으로 구성된 Entry 객체를 저장하는 구조를 가지고 있다. 여기서 키와 값은 모두 객체이다. 키는 중복 저장될 수 없지만, 값은 중복 저장할 수 있다. 만약 기존에 저장된 키와 동일한 키로 값을 저장하면 기존의 값은 없어지고 새로운 값으로 대치된다. Map 컬렉션에는 HashMap, Hashtable, LinkedHashMap, Properties,TreeMap 등이 있다. Map 컬렉션에서 공통적으로 사용가능한 Map 인터페이스의 메소드. 키로 객체들을 관리하기 때문에 키를 매개값으로 갖는 메소드가 많다. 기능 메소드 설명 객체 추가 V put(K key, V value) 주어진 키와 값을추가, 저장되면 값을 리턴 객체 검색 boolean c.. 2021. 12. 27. [Java] 컬렉션 프레임워크 (Collection Framework) (2) Set 컬렉션 Set 컬렉션 Set 컬렉션은 저장 순서가 유지 되지 않는다. 또한 객체를 중복해서 저장할 수 없고, 하나의 null만 저장할 수 있다. Set 컬렉션에는 HashSet, LinkedHashSet, TreeSet 등이 있는데, 다음은 Set 컬렉션에서 공통적으로 사용 가능한 Set 인터페이스의 메소드들이다. 인덱스로 관리하지 않기 때문에 인덱스를 매개값으로 갖는 메소드가 없다. 기능 메소드 설명 객체 추가 boolean add(E e) 주어진 객체를 저장, 객체가 성공적으로 저장되면 true를 리턴하고 중복 객체면 false를 리턴 객체 검색 boolean contains(Object o) 주어진 객체가 저장되어 있는지 여부 isEmpty() 컬렉션이 비어 있는지 조사 Iterator iterator().. 2021. 12. 26. [Java] 컬렉션 프레임워크 (Collection Framework) (1) List 컬렉션 List 컬렉션 List 컬렉션은 객체를 일렬로 늘여놓은 구조를 가지고 있다. 객체를 인덱스로 관리하기 때문에 객체를 저장하면 자동 인덱스가 부여되고 인덱스로 객체를 검색, 삭제할 수 있는 기능을 제공한다. List 컬렉션은 객체 자체를 저장하는 것이 아니라 객체의 번지를 참조한다. 동일한 객체를 중복 저장할 수 있는데, 이 경우 동일한 번지가 참조된다. null도 저장이 가능한데, 이 경우 해당 인덱스는 객체를 참조하지 않는다. List 컬렉션에는 ArrayList, Vector, LinkedList 등이 있는데, 다음은 List 컬렉션에서 공통적으로 사용가능한 List 인터페이스의 메소드들이다. 인덱스로 객체를 관리하기 때문에 인덱스를 매개값으로 갖는 메소드가 다수. 기능 메소드 설명 객체 추가 bo.. 2021. 12. 26. [Java] 컬렉션 프레임워크 (Collection Framework) 애플리케이션을 개발하다 보면 다수의 객체를 저장해 두고 필요할 때마다 꺼내서 사용하는 경우가 많다. 가장 간단한 방법은 배열을 이용하는 것인데, 비효율적이다. 배열보다 효율적이고 널리 알려져 있는 것은 자료구조를 바탕으로 객체들을 효율적으로 추가, 삭제, 검색할 수 있도록 java.util 패키지에 컬렉션과 관련된 인터페이스와 클래스들을 포함시켜 놓았다. 이를 컬렉션 프레임워크(Collection Framework)라고 부른다. 컬렉션(Collection)이란 사전적 의미로 요소를 수집해서 저장하는 것으로, 자바 컬렉션은 객체를 수집해서 저장하는 역할을 한다. 프레임워크란 사용 방법을 미리 정해 놓은 라이브러리를 말한다. List와 Set은 객체를 추가, 삭제, 검색하는 방법에 많은 공통점이 있기 때문에.. 2021. 12. 26. [Java] 정규 표현식 (Regular Expression) 정규 표현식과 Pattern 클래스 문자열이 정해져 있는 형식으로 구성되어 있는지 검증해야하는 경우에 사용 정규 표현식 작성 방법 정규표현식 작성 방법은 API 도큐먼트에서 java.util.regex.Pattern 클래스에서 볼 수 있다. 기호 설명 [] 한개의 문자 [abc] a, b, c중 하나의 문자 [^abc] a, b, c 이외의 하나의 문자 [a-zA-Z] a~z, A~Z 중 하나의 문자 \d 한 개의 숫자, [0-9]와 동일 \s 공백 \w 한 개의 알파벳 또는 한 개의 숫자, [a-zA-Z_0-9]와 동일 ? 없음 또는 한 개 * 없음 또는 한 개 이상 + 한 개 이상 {n} 정확히 n개 {n,} 최소한 n개 {n, m} n개에서부터 m개까지 () 그룹핑 (ex) 전화번호 정규 표현식 (.. 2021. 12. 22. [Java] 기본 API 클래스 - Object 클래스 (2) toString, clone, finalize Obejct 클래스의 메소드 1. 객체 문자 정보 toString() Object 클래스의 toString() 메소드는 "클래스명@16진수해시코드"로 구성된 문자 정보를 리턴한다. Object 하위 클래스는 toString() 메소드를 재정의하여 간결하고 유익한 정보를 리턴하도록 되어있다. (ex. Date 클래스 ) public class ToStringExample { public static void main(String[] args) { Obejct ob1 = new Object(); Date obj2 = new Date(); System.out.println(obj1.toString()); System.out.println(obj2.toString()); } }출력 결과 java.lang.Obj.. 2021. 12. 21. [Java] 기본 API 클래스 - Object 클래스 (1) equals, hashCode 클래스 선언할 때 extends 로 다른 클래스를 상속하지 않으면 암시적으로 java.lang.Object 클래스를 상속한다. 자바의 모든 클래스는 Object 클래스의 자식이거나 자손 클래스. 즉, Object 클래스는 자바의 최상위 부모 클래스이다. Object 클래스의 메소드 1. 객체 비교 equals() public boolean equals(Object object){ } 매개 타입 : Object 로 모든 객체가 매개 값으로 대입 가능 리턴 타입 : boolean 두 객체가 동일한 객체면 true, 아니면 false 반환 비교 연산자 "==" 와 같은 기능을 함 Object 클래스의 equals() 메소드는 직접 사용되지 않고 하위 클래스에서 재정의 되어 논리적으로 동등비교시 사용된다. eq.. 2021. 12. 21. [Java] 기본 API 클래스 1. API API : Application Programming Interface. 라이브러리라고 부르기도 한다. 클래스 및 인터페이스 모음이다 2. java.lang 패키지 java.lang 패키지에 있는 클래스와 인터페이스는 import 없이 사용 가능 클래스 용도 Object - 자바 클래스의 최상위 클래스로 사용 System - 표준 입력 장치로부터 데이터를 입력받을때 사용 - 표준 출력 장치로 출력하기 위해 사용 Class - 클래스를 메모리로 로딩할때 사용 String - 문자열을 저장하고 여러 가지 정보를 얻을 때 사용 StringBuffer, StringBuilder -문자열을 저장하고 내부 문자열을 조작할 때 사용 Math - 수학 함수를 이용할 때 사용 Wrapper - 기본 타입의 .. 2021. 12. 21. [Java] Java의 .properties 파일 읽기 .properties 파일 읽기 Type.getProperty() Type.getProperties() Java의 .properties 파일 읽기 Properties라는 클래스는 Windows의 INI 파일과 같은 기능을 한다. DB에 대한 연결정보를 파일로 저장해 놓고 사용하는 용도로 가장 많이 쓰인다. 이런경우에는 db.properties라는 파일명으로 자주 작명된다. config 폴더에 db에 대한 연결정보를 가지고있다고 가정해보자. dbconfig.properties driver=org.postgresql.Driver url=jdbc:postgresql://localhost:5432/db이름 username=username password=password 이 dbconfig 파일에 담겨진 정보를 .. 2021. 12. 12. 이전 1 2 다음