본문 바로가기

JAVA/Collection

(5)
generics 1. generics 다양한 타입의 객체들을 다루는 메소드나 컬렉션등에 들어가는 타입형을 지정해 주는것이다. 해당하는 타입만 들어 갈 수 있기 때문에 형변환에 의한 불필요한 코딩, 잘못된 형변환에 의한 런타임 오류등에서 벗어 날 수 있다. 2.선언방법 ㄱ)ArrayList경우 ArrayList arr = new ArrayList(); (자료형과 같은 타입의 값(객체포함)만 들어감. 만약 다른 자료형 add 하려고 하면 오류가 난다. generics가 없는 리스트와 비교해보자 String으로된 값이 들어간다. b에서 String으로된 값을 제외하고 넣은 후 forEach문으로 객체로 변환 후 출력해보자. 만약 a와 같은 방식으로 b를 출력하려고 하면 오류가 난다. a의 경우 Student객체배열에 넣을 수..
JAVAProperties 1. Properties란 어떠한 프로그램을 실행할 때 함께 읽어오는 설정들(언어설정, 옵션값, DB연결정보)을 저장하는 파일을 말한다. Properties는 key와 Value로 이루어진 Map의 형식을 가지고 있으나 key와 value 모두 문자열 형태로 저장하여 사용한다. Serializable을 상속받은 HashTable을 상속받았기 때문에(이미 직렬화 되어있다.) Stream으로 부터 입출력이 가능하여, 데이터를 파일로부터 쉽게 읽고, 쓰는 기능을 제공한다. 주석: 라인 제일 앞에 # 로 시작되는 줄. 문자셋: ISO 8859-1, 한글은 유니코드로 저장한다. 저장파일은 dat, txt, xml파일로 가능하며, 그중 xml파일은 앞의 두개와 명령어가 조금 다르며 기반스트림중 OutputStrea..
Map 1.Map이란 데이터(자료)를 저장할 때 각각의 자료들을 구분짓는 고유의 값(키)을 정하여 해당 값으로 접근하는 실제 객체를 구분지으려고 할 때 사용하는 자료구조 Collection은 상속받지 않지만, 비슷한 역할 수행. Map : (key)와 값(Value)를가짐 키 = Set과 유사(중복 x) 값 = List와 유사(중복O) 제네릭스를 통해 키와 값 각각의 자료형을 정할 수 있다. HashMap, TreeMap, Properties가 있다. 1)HashMap Map의 Key는 HashSet의 특징을 띄고있고 Hash라는 단어가 포함된 컬렉션 사용시 내부에 저장되는key는 equals와 HashCode가 오버라이딩 되어있어야 한다. (String, Wrapper Class는 equals와 hashCod..
Set 1.Set 저장 순서가 유지되지 않고, 중복 객체도 저장하지 못하게 하는 자료 구조 null도 중복을 허용하지 않기 때문에 1개의 null만 저장 구현 클래스로 HashSet, LinkedSet, TreeSet이 있다 1)Set의 특징 중복 불가.(객체의 경우, 객체 클래스에 String클래스에서 오버라이딩되어있는 equals()와 hashCode()를 통해 값과 주소를 비교하여 중복을 걸러낼 수 있다.) 2)주요 메소드 Set명.add(값/객체); : 주어진 값/ 객체를 맨끝에 추가 Set명.addAll(Collection객체;) : 주어진 Collection 객체를 Set에 추가 Set명.contains(값/객체) : 주어진 값/객체가 저장되어 있는지 여부 Set명.size() : Set의 크기를 리..
ArrayList 1. ArrayList : List를 상속받는 객체중 하나로, 자료를 넣을시, 넣은 순서를 유지하고, 중복을 허용하는 자료 구조다. 넣는 자료의 자료형은 일관되지 않아도 된다. 2.ArrayList의 장점 : Collection의 장점이기도 하다. 배열과 달리 추가, 삭제, 삽입, 수정이 자유로우며, 여러 종류의 자료형을 한번에 넣을 수있다. 1)선언 ArrayList List명 = new ArrayList(); // 제네릭스 선언시 ArrayList List명 = new ArryaList(); 다형성이 적용된다. List List명 = new ArrayList(); Collection List명 = new ArrayList(); 2)메소드 List명.add(값); : 마지막 인덱스번호 +1 인덱스에 값..