컬렉션 프레임워크(Collection Framework) : 자료구조

시바코코개발자·2023년 7월 24일
0

알고리즘

어떤 문제가 발생되었을 때 해결할 수 있는 절차 혹은 순서

자료구조

의미 없는 데이터를 하나의 정보로 만들어주는 알고리즘들의 집합,
수집한 자료를 저장하고 관리하는 방법.

컬렌션 프레임워크(Collection FrameWork) 자료구조
많은 데이터를 쉽고 효과적으로 관리할 수 있는 표준화된 방법을 제공하는 클래스들의 집합.

  1. List - 인터페이스 (꼭 구현되어야 리스트이므로)
    여러개의 자료구조가 있음. 공통적인 요소가 많아서 리스트로 묶어놓은것. 여러가지 구현된 클래스를 가지고 있는 부모클래스

List 구현 클래스
Vector : 용량관리,보안성 강화,처리량 감소

LinkedList : RAM => 선입후출(FILO) 넣을때는 빠름
인덱스를 관리하지 않기 때문에, 가져올때는 박살남.(뺄때는 상대적으로 느리다)

ArrayList : 인덱스 있음. 메모리에 연결되어서 할당됨. 인덱스로 데이터를 관리한다.
컬렉션 클래스 중 실무에서 가장 많이 사용되는 클래스이다.
배열의 특징인 인덱스를 이용하여 값을 저장하고 관리한다.
//Collections.sort(datas) 오름차순
//Collections.reverse(datas) 내림차순
주소를 직접 전달하여 sort메소드에서 정렬이 되었기 때문에 전달한 datas의 값들이 정렬된 값으로 변경되어있다.

  1. Set - 인터페이스(꼭 구현되어야 셋이므로)
    중복된 데이터를 절대 집어넣지 않는다.

    HashSet

    중복된 값이 필요없는 이유는 이 자료구조의 목적이 값의 유무를 검사하는 것이 목적이기 때문이기 그렇다.
    집합에서는 중복되는 원소를 포함할 수 없는 것처럼 HashSet이라는 자료구조는 중복되는 값을 무시한다. 저장된 값들은 인덱스가 없기 때문에 순서가 없다. 값의 유무 검사에 특화되어 있는 자료구조이고, 해쉬코드로 유무검사가 진행된다. 검사의 속도가 상대적으로 좋다.인덱스가 없다는 것은 값을 가져올 수 없다는 것.

    -순서 부여 :iterator()
    ->Hashset일때는 가져올 수 없는데, hashset에서 변환해서 가져오게 함
    iterator() 이터레이터만의 순서가 따로 있음.
    순서가 없는 객체에 순서를 부여하거나,순서가 있어도 iterator방식의 순서로 변경하고자 할때 사용한다.
    hasNext()를 통해 다음 값이 있는지 검사하고, next()를 사용하여 값을 가져온다.

  2. Map

    • 구현 클래스
      HashMap=> 이름을 통해서 알 수 있듯이 해쉬코드를 사용한다.(서버 간 데이터 교환)
      Key와 Value 한쌍으로 지정되며, 검색의 목적을 가지고 있다. Key는 중복된 값을 넣으면 Value가 최근 값으로 수정되고,중복되지 않은 값을 넣으면 새롭게 추가된다. Value는 중복이 가능하다.

0개의 댓글

관련 채용 정보