본문 바로가기

자료구조3

HashSet Set 컬렉션은 저장 순서가 유지되지 않는다. 또한 객첼르 중복해서 저장할 수 없고, 하나의 null만 저장할 수 있다. Set 컬렉션에는 HashSet, LinkedHashSet, TreeSet 등이 있는데, 이번에는 HashSet에 대해 중점적으로 살펴보도록 하겠다. 먼저 Set 인터페이스의 메소드들을 살펴보자. 기능 메소드 설명 객체 추가 boolean add(E e) 주어진 객체를 저장, 객체가 성공적으로 저장되면 true를 리턴하고 중복 객체면 false 리턴 객체검색 boolean contains(Object o) 주어진 객체가 저장되어 있는지 여부 isEmpty() 컬렉션이 비어 있는지 조사 Iterator iterator() 저장된 객체를 한 번씩 가져오는 반복자 리턴 int size() .. 2021. 3. 1.
LinkedList LinkedList는 List 구현 클래스이므로 ArrayList와 사용 방법은 똑같지만 내부 구조는 완전 다르다. ArrayList는 내부 배열에 객체를 저장해서 인덱스로 관리하지만, LinkedList는 인접 참조를 링크해서 체인처럼 관리한다. ​ LinkedList에서 특정 인덱스의 객체를 제거하면 앞뒤 링크만 변경되고 나머지 링크는 변경되지 않는다. 특정 인덱스에 객체를 삽입할 때에도 마찬가지다. ArrayList는 중간 인덱스의 객체를 제거하면 뒤의 객체는 인덱스가 1씩 앞으로 당겨진다고했다. 그렇기 때문에 빈번한 객체 삭제와 삽입이 일어나는 곳에서는 ArrayList 보다 LinkedList가 더 좋은 성능을 발위한다. ​ 다음사진은 중간에 객체를 제거할 경우 앞뒤 링크의 수정이 일어나는 모습.. 2021. 2. 7.
Arraylist 컬렉션프레임워크의 첫번째 List !! List의 특징은 순서를 유지하고 저장하며, 중복 저장이 가능하다. array (배열) 1. 배열 선언시 배열의 크기를 지정 해야함. 2. 지정된 크기 이상으로 할당 안됨. ​ 1. 사이즈 10인 배열 -> 사이즈 5로 줄이기 - 불가능하다. 이러한 이유로 다른 자료구조들이 있다. - 배열은 선언할때 사이즈를 지정해줘야함. - Arrays.asList(배열) 리스트 변환 후 사이즈 변경 - Arrays.CopyOf 를 통한 사이즈 변경 ​ 2. 사이즈 변경이 가능한 자료구조 - ArrayList는 배열을 이용해서 리스트를 구현한 것을 의미한다. - ArrayList 내부구조를 보면 배열의 크기가 부족할 경우 grow 라는 메서드가 배열의 크기를 증가시켜줌. - Ar.. 2021. 2. 7.