컬렉션 프레임워크(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개의 댓글