목록Java/JAVA2 (37)
충분히 쌓여가는
배열의 장점 배열은 구조가 간단하고 데이터를 읽는데 걸리는 시간(access time)이 짧다 연속적이다 배열의 단점 1. 크기를 변경할 수 없다 크기를 변경해야 하는 경우 새로운 배열을 생성 후 데이터를 복사해야 한다 배열의 사이즈를 늘리고 싶다면 더 큰 배열을 생성해야 한다(예시 링크) [더 큰 배열 생성 -> 내용 복사 -> 참조 변경] 크기 변경을 피하기 위해 충분히 큰 배열을 생성하면, 메모리가 낭비된다 2. 비순차적인 데이터의 추가, 삭제에 시간이 많이 걸린다 데이터를 추가하거나 삭제하기 위해, 다른 데이터를 옮겨야 한다 그러나 순차적인 데이터 추가(끝에 추가)와 삭제(끝부터 삭제)는 빠르다 LinkedList - 배열의 단점 보완 배열과 달리 LinkedList는 불연속적으로 존재하는 데이터..
ArrayList 기존의 Vector를 개선한 것으로 구현원리와 기능적으로 동일하다 ArrayList와 달리 Vector은 자체적으로 동기화 처리가 되어 있다 List 인터페이스를 구현하므로, 저장순서가 유지되고 중복을 허용한다 데이터의 저장공간으로 배열을 사용한다(배열기반) Vector 클래스의 source Object[]: 객체 배열로 다형성 때문에 모든 종류의 객체를 저장 가능하다 public class Vector extends AbstractList implements List, RandomAccess, Cloneable, java.io.Serializable { ... protected Object[] elementData; // 객체를 담기위한 배열 ... ArrayList의 메서드 코드 A..
List, Set, Map Collection 인터페이스의 메서드 메서드 설명 boolean add(Object o) boolean addAll(Collection c) 지정된 객체(o) 또는 Collection(c)의 객체들을 Collection에 추가한다 void clear() Collection의 모든 객체를 삭제한다 boolean contains(Object o) boolean containsAll(Collection c) 지정된 객체(o) 또는 Collcetion의 객체들이 Collcetion에 포함되어 있는지 확인한다 boolean equals(Object o) 동일한 Collection인지 비교한다 int hashCode() Colleciton의 hash code를 반환한다 boolean i..
collections 여러 객체(데이터)를 모아 놓은 것 framework 표준화, 정형화된 체계적인 프로그래밍 방식 collections framework 컬렉션(다수의 객체)를 다루기 위한 표준화된 프로그래밍 방식 컬렉션을 쉽고 편리하게 다룰 수 있는 다양한 클래스를 제공 java.util 패키지에 포함됨 collections class 다수의 데이터를 저장할 수 있는 클래스(Vector, ArrayList, HashSet) collections framework의 핵심 인터페이스 인터페이스 특징 List 순서가 있는 데이터의 집합, 데이터의 중복을 허용한다(예: 대기자 명단) 구현 클래스: ArrayList, LinkedList, Stack, Vector 등 Set 순서를 유지하지 않는 데이터의 집..