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 인덱스에 값을 추가 한다.
List명.add(인덱스번호 , 값); : 인덱스 번호 위치에 값을 삽입한다. 원래 있던 값부터 인덱스 번호가 +1씩 밀려난다.
List명.remove(인덱스번호); : 인덱스 번호 위치의 값을 삭제한다. 뒤에 있던 값들은 전부 인덱스번호가 -1씩 된다.
(List명.remove(객체); : 객체를 삭제)
List명.set(인덱스번호, 값); : 인덱스 번호 위치의 값을 수정한다.
그 외 메소드
List명.addAll(다른 Collection객체); 다른 Collection객체를 리스트에 추가/
List명.contains(객체) : 주어진 객체가 저장되어있는지 여부(논리값)
List명.get(인덱스번호); : 인덱스 번호에 있는 값 리턴
List명.isEmpty(); : 객체가 비어있는지 조사
List명.size(); : 객체 크기(length()가 아니다)
List명.clear(); : 리스트를 비운다.
3. 정렬법
정렬 방법에는 값 하나만 비교 할 수 있는 Comparable과 동일 객체일 경우 여러 값중 하나의 값을 비교 할 수 있는 Complarator가 있다.
1)Comparable : 정렬하고자하는객체에Comparable를 상속받아 compareTo() 메소드를오버라이딩해기존의정렬 기준재정의.
한개의정렬만가능
Collections.sort(List list) 객체에 Comparable을 상속받아 compareTo 메소드 재정의를 통해 정렬 구현 (한 개의 정렬)
단 이경우 배열이 섞일 경우 형변환 오류가 걸린다.
또한 배열만 넣고 제네릭스를 지정해도 컴파일에서 부터 오류가 걸린다.
만약 객체를 비교 하고 싶을 경우 정보를 가져오는 객체 클래스에 Comparable<T>를 implements후 compareTo(T o) 메소드를 재정의 하여 사용 하면 된다.
메소드 사용시는 Collections.sort(list명);
2)Comparator : Comparator를상속 받는 정렬용 객체를 생성하여 compare() 메소드를 오버라이딩해 정렬기준 재정의.
ㄱ)비교연산자로 불가능한 경우(문자열)
ㄴ)비교연산자가 가능할 경우
사용
정렬결과
'JAVA > Collection' 카테고리의 다른 글
generics (0) | 2019.12.26 |
---|---|
JAVAProperties (0) | 2019.12.21 |
Map (0) | 2019.12.21 |
Set (0) | 2019.12.21 |