☕️ Java

Arrays 클래스에는 배열을 다루는데 유용한 메서드들이 정의되어 있는데, 몇개 살펴보도록 하자. 복사 - copyOf(), copyOfRange() copyOf()는 배열 전체를, copyOfRange()는 배열의 일부를 복사해서 새로운 배열을 만든다. int[] arr = {0, 1, 2, 3, 4}; int[] arr2 = Arrays.copyOf(arr, arr.length); //[0, 1, 2, 3, 4] int[] arr3 = Arrays.copyOf(arr, 3); //[0, 1, 2] int[] arr4 = Arrays.copyOf(arr, 7); //[0, 1, 2, 3, 4, 0, 0] int[] arr5 = Arrays.copyOfRange(arr, 2, 4); //[2,3] (in..
Iterator, ListIterator, Enumeration Iterator, ListIterator, Enumeration은 모두 컬렉션에 저장된 요소를 접근하는 데 사용되는 인터페이스이다. Enumeration은 Iterator의 구버전이고, ListIterator는 Iterator의 기능을 향상시킨 것이다. Enumeration은 구버전이므로 이제부터는 다루지 않고, 나머지 Iterator 형제에 대해서만 다뤄보겠다. Iterator : 컬렉션에 저장된 요소를 접근하는데 사용되는 인터페이스 ListIterator : Iterator에 양방향 조회기능을 추가함(List를 구현한 경우에만 사용이 가능하다.) 사용방법 사용방법은 어렵지 않기에 간단히 소개하겠다. List list = new Array..
Stack과 Queue 자바에서는 Stack과 Queue를 제공한다. 우선 자바에서 제공하는 Stack과 Queue를 알아보기 전에 Stack과 Queue 자료구조에 대해서 알아보도록 하자. 스택(Stack) [자료구조] - 스택(Stack) 스택(Stack) Stack이라는 단어는 더미, 혹은 쌓다 라는 의미의 단어로, 단어의 뜻 그대로 데이터를 쌓아 올린 형태의 자료구조입니다. 프링글스 통을 생각하면 편한데, 프링글스 통 안에 들어있는 ttl-blog.tistory.com 큐(Queue) https://ttl-blog.tistory.com/631 [자료구조] - 큐(Queue) 큐(Queue) Queue 라는 단어는 대기줄, 혹은 줄을 서서 기다리다 라는 의미의 단어로, 단어의 뜻인 줄에 대해 생각해..
ArrayList(Collection)에서 최대값, 최소값 구하기 public static T max(Collection
LinkedList에 대해 알아보기 전에, 왜 LinkedList가 생기게 되었는지에 대해 알아보자. 배열의 단점 자바의 배열은 다음과 같은 단점을 가지고 있다. 크기를 변경할 수 없다. 크기를 변경할 수 없으므로 크기를 확장해야 할 경우 새로운 배열을 생성하여 복사해야한다. 실행속도를 향상시키기 위해서 배열의 크기를 크게 생성할 경우 메모리가 낭비된다. 비순차적인 데이터의 추가 또는 삭제에 시간이 많이 걸린다. 차례대로 데이터를 추가하고 마지막의 데이터를 삭제하는 경우에는 굉장히 빠르나, 배열의 중간에서 값을 제거하고 추가할 때는 굉장히 시간이 오래 걸린다. 배열을 이러한 단점을 가지고 있고, 배열을 통해 List를 구현한 ArrayList도 위와같은 문제점들을 가지고 있다. 이러한 문제점을 보안하기 ..
ArrayList ArrayList는 List인터페이스를 구현하기 때문에, 저장 순서가 유지되고, 중복을 허용한다. ArrayList는 기존의 Vector를 개선한 것으로 Vector와 구현원리와 기능적인 측면이 동일하다. Vector는 레거시 코드들과의 호환성을 유지하기 위해 남겨두는 것이기 때문에, 앞으로는 Vector 말고 ArrayList를 사용하도록 하자. ArrayList는 내부적으로 Object 배열(Object[])을 사용해서 구현되었다. 배열은 길이가 정적이기 때문에, 더이상 배열에 저장할 공간이 없어진다면 보다 큰 배열을 생성해서 기존의 배열에 저장된 내용을 새로운 배열로 복사한 후 저장한다. 메소드들은 정말 많지만, 알아서 찾아보도록 하고 이 글에서는 다른것에 대해서 다루도록 하겠다...
컬렉션 프레임워크 자바의 컬렉션 프레임워크 그룹에는 크게 3가지 타입이 존재한다고 볼 수 있다. List와 Set, 그리고 Map이다. 그리고 List와 Set의 공통된 부분을 다시 뽑아서 Collection 인터페이스를 추가로 정의하였다. 인터페이스 특징 List 순서가 있는 데이터의 집합. 데이터의 중복을 허용한다. ArrayList, LinkedList, Stack, Vector 등 Set 순서를 유지하지 않는 데이터의 집단. 데이터의 중복을 허용하지 않는다. HashSet, TreeSet 등 Map 키(Key) 와 값(Value)의 쌍(pair)으로 이루어진 데이터의 집합. 순서는 유지하지 않으며, 키는 중복이 불가하나 값은 중복을 허용한다. HashMap, TreeMap, Hashtable, P..
List를 정렬하는 방법 Collections.sort() List.sort() - Java 8 이후 정렬 기준 설정 Comparable - compareTo 구현 Comparator - compare 구현 List를 정렬하는 방법 1. Collections.sort() public static void sort(List list) public static void sort(List list, Comparator
말 랑
'☕️ Java' 카테고리의 글 목록 (8 Page)