시스템아 미안해

Collection - (Arraylist / Set ) & 제네릭 본문

java/문법

Collection - (Arraylist / Set ) & 제네릭

if else 2022. 4. 6. 23:13

<<Collection>> : 객체의 element 저장소 (인터페이스) / Object형으로 저장 /제네릭 사용

~제네릭이 설정돼있지 않으면 자료형 구분안하고 막 때려넣기 때문에 꺼내 쓸때 타입을 일일이 확인해야함 

 


list : 순서 있는 저장소. ArrayList 클래스 사용

set  : 순서 없는 저장소.  HastSet or TreeSet 클래스사용

 

1. ArrayList(선형구조)

 -  저장 : add.Arraylist의 객체 / 값 불러오기 : get(인덱스)

 - 배열이 동적으로 늘어남(add횟수에 따라 arraylist의 배열의 크기가 유동적으로 바뀜 <>그냥 배열은 불가)

 

2. . set(비선형구조)
  - 순서없이 저장되는 자료 구조. : 첨자가 없으니까 값을 하나씩 떼오는수밖에 없음
  - 동일 값 저장xx (고유값만 저장 가능)
  - HashSet<E> : 구현 객체.출력도 순서 없이 / TreeSet : 소트돼서 출력
  - 떼오는 방법 : 쉽게는 for문 개선루프, Iterator&hasNext(값이 있냐? 떼와라)

 

<<제네릭>> : 클래스나 메소드에서 사용할 내부 데이터 타입을 컴파일 시에 미리 지정하는 방법

 

  - 명확하게 자료형을 지정한다는 장점이 있음(관리도 편함)
 

ex1) public class MyArrayList <E>

ex2)List<PersonVo>p_list = new ArrayList<PersonVo>();