목록스터디/JAVA (8)
꼬물꼬물
https://www.baeldung.com/java-arraylist 1. 개요ArrayList는 Java Core Libraries로 다른 라이브러리를 추가할 필요는 없다.import java.util.ArrayList;List는 값의 순서있는 시퀀스를 나타내며 해당 값은 중복될 수 있다.ArrayList는 배열 위에 구축된 List의 구현체 중 하나며 요소를 추가/삭제할 때 동적으로 확장 및 축소할 수 있다.요소들은 인덱스 0부터 쉽게 접근할 수 있다.해당 구현은 다음과 같은 속성이 있다.임의의 값 접근시 시간복잡도 O(1)요소 추가 시간복잡도 O(1)삽입/삭제 시간복잡도 O(n)검색 시간복잡도 정렬되지 않은 배열의 경우 O(n), 정렬된 배열의 경우 O(log n)2. ArrayList 생성Arr..
https://www.baeldung.com/java-linkedlist 1. 소개LinkedList는 list와 Deque인터페이스의 이중 연결 리스트 구현체로 모든 선택적 리스트 연산을 구현하고 모든 요소(null 포함)을 허용한다. 2. 특징list를 인덱싱하는 작업은 지정된 인덱스에 더 가까운 첫번째 혹은 마지막부터 목록을 탐색한다.동기화 되지 않는다.Iterator과 ListIterator은 fail-fast 이다.iterator가 생성된 후 List가 수정되면 ConcurrentModificationException이 반환된다.모든 요소는 이전, 이후 요소에 대한 참조를 가지고 있으며 Node라 한다.삽입 순서를 유지한다.LinkedList는 비동기이며 동기로 사용하고 싶으면 Colldecti..

1.7 Comparator와 Comparable Arrays.sort()를 사용할때 해당 Array의 요소에 Comparable 구현에 의해 정렬되는 것이다. Comparator와 Comparable은 모두 인터페이스로 컬렉션을 정렬하는데 필요한 메서드를 정의하고 있다. Comparable 구현 클래스 Integer와 같은 Wrapper 클래스와 String, Date, File 등 기본적으로 오름차순 public interface Comparator{ int compare(Object o1, Object o2); boolean equals(Object o); } public interface Comparable{ int compareTo(Object o); } Comparable은 java.lang 패..

1. Collections Framework 데이터 군을 저장하는 클래스들을 표준화한 설계 Java API 문서에서는 **‘데이터군을 다루고 표현하기 위한 단일화된 구조’**라고 한다. JDK1.2이전까지는 Vector, HashTable, Properties와 같은 컬랙션 클래스, 다수의 데이터를 저장할 수 있는 클래스를 다른 각자의 방식으로 처리했어햐 했다. JDK1.2부터 컬렉션 프레임웍이 등장하면서 다양한 종류의 컬렉션 클래스가 추가되고 모든 컬렉션 클래스를 표준화된 방식으로 다룰 수 있도록 체계화 됨. Vector와 같이 다수의 데이터를 저장할 수 있는 클래스 == 컬렉션 클래스 컬렉션 프레임웤은 컬렉션, 다수의 데이터를 다루는 다양한 클래스를 제공한다. 인터페이스와 다형성을 이용한 객체지향적 ..