startsWith(str)
: 문자열이 특정 문자로 시작되는지 판별endsWith(str)
: 문자열이 특정 문자로 끝나는지 판별equal(str)
: String 문자열 값 비교indexOf(str)
: 특정 문자열이 대상 문자열의 몇 번째 인덱스에 위치하는지 반환substring
: 지정한 범위에 속하는 문자열 반환substring(index)
: index 위치를 포함하여 이후의 모든 문자열을 리턴substring(beginIndex, endIndex)
: beginIndex에서 endIndex-1까지의 부분 문자열을 반환replace(beforeStr, afterStr)
: 특정 문자열을 새로운 문자열로 치환toLowerCase(str)
: 문자열을 소문자로 변환toUpperCase(str)
: 문자열을 대문자로 변환trim(str)
: 문자열의 앞뒤 공백 제거replace(" ", "")
를 사용해야 함charAt(index)
: 문자열 특정 위치에 있는 문자 반환java.lang.StringIndexOutOfBoundsException
오류 발생String.valueOf(str)
: 지정된 값을 String으로 변환contains(str)
: 특정 문자열이 포함되어 있는지 확인split(regex)
: 문자열을 특정 문자열을 기준으로 나는 후 배열을 반환length
: 문자열의 길이를 반환Arrays.sort()
: 오름차순으로 정렬기본 정렬조건이 오름차순인 이유는 Class 내에 기본적으로 구현되어있는
Comparable
Interface의compareTo
메서드를 기준으로 하기 때문이다. Java에서 인스턴스를 서로 비교하는 클래스들은 모두Comparable
인터페이스가 구현되어 있다.
int[] intArr = new int[] {1, 3, 5, 2, 4};
Arrays.sort(intArr, 2, 5); // intArr[2]~intArr[4]의 값만 정렬
Wrapper Class로 된 배열(Reference Type Array)만 가능하다.
이미 정의된 메소드를 활용하여 정렬할 수 있다.
- Comparator.reverseOrder()
- Collections.reverseOrder()
Integer[] integerArr = new Integer[] {1,3,5,2,4};
String[] stringArr = new String[] {"A","C","B","E","D"};
Arrays.sort(integerArr,Comparator.reverseOrder()); //내림차순
Arrays.sort(stringArr,Collections.reverseOrder()); //내림차순
Arrays.asList(arr)
: 배열을 ArrayList로 변환Arrays.fill(arr, value)
: 배열을 value 값으로 채움Arrays.fill(arr, start, end, value)
: 배열의 start부터 end-1까지 value 값으로 채움Arrays.copyOf(arr, size)
: 배열의 0번째 원소부터 size만큼 복사 (새로운 배열 생성)Arrays.copyOfRange(arr, start, size)
: 배열의 start원소부터 size만큼 복사 (새로운 배열 생성)valueOf()
메소드를 통해 변환할 수 있다.Integer.valueOf(str)
Double.valueOf(str)
Float.valueOf(str)
parse{자료형}()
메소드를 통해 변환할 수 있다.Integer.parseInt(str)
Long.pareLong(str)
Short.parseShor(str)
valueOf()
메소드를 통해 변환할 수 있다.String.valueOf(number)
toString()
메소드를 통해 변환할 수 있다.Interger.toString(number)
Float.toString(number)
Double.toString(number)
(int)number
, (double)number
, (float)number
Array와 List는 항상 반복문을 통해 변환할 수 있다.
Arrays.asList(arr)
new ArrayList<>(Arrays.asList(arr))
Stream.of(arr).collect(Collectors.toList())
collect()
메소드는 데이터를 원하는 타입으로 변경해준다.// int -> List
List<Integer> intList = new ArrayList<>();
for (int element : arr) {
intList.add(element);
}
// int -> List
List<Integer> intList = Arrays.stream(arr)
.boxed()
.collect(Collectors.toList());
boxed()
메소드는 Primitive Stream 값을 Wrapper 값으로 바꿔준다.collect()
메소드를 통해 원하는 타입으로 변경할 수 있다.arrList.toArray(new String[arrList.size()])
null
로 채워진다.Collections.sort(c)
: 컬렉션 객체를 오름차순으로 정렬Collections.max(c)
: 컬렉션 내의 최댓값 반환Collections.min(c)
: 컬렉션 내의 최솟값 반환Collections.reverse(c)
: 컬렉션을 순서를 역으로 변경Collections.copy(fromObj, toObj)
: fromObj의 모든 객체를 toOBj으로 복사해 반환Collections.bianrySearch(c, obj)
: 정렬된 컬렉션에서 이진 탐색으로 특정 객체를 찾아 인덱스를 반환Collections.disjoint(c1, c2)
: 주어진 두 컬렉션에 일치하는 값이 하나도 없으면 true, 하나라도 있으면 false 반환 (= 서로소 집합)Collection 인터페이스에서는 Iterator 인스턴스를 반환하는
iterator()
메소드를 정의하여 각 요소에 접근하도록 하고 있다. 따라서 Collection 인터페이스를 상속 받는 List와 Set 인터페이스에서도iterator()
메소드를 사용할 수 있다.
hasNext()
: 해당 이터레이션(iteration)이 다음 요소를 가지고 있으면 true를 반환하고, 더 이상 다음 요소를 가지고 있지 않으면 false를 반환next()
: 이터레이션(iteration)의 다음 요소를 반환equals(c)
: 해당 컬렉션과 전달된 객체가 같은지 확인isEmpty()
: 해당 컬렉션 객체가 비어있는지 확인size()
: 해당 컬렉션 객체의 크기 반환iterator()
: 해당 컬렉션의 반복자(iterator)를 반환toArray(c)
: 해당 컬렉션의 모든 요소를 Object 타입의 배열로 반환List 인터페이스를 구현한 ArrayList를 주로 사용
add
: 특정 값 추가add(obj)
: 리스트 끝에 원소 추가add(index, obj)
: 특정 인덱스에 원소 추가addAll
: 주어진 컬렉션의 모든 객체를 추가addAll(c)
: 주어진 컬렉션의 모든 객체를 끝에 추가addAll(index, c)
: 주어진 컬렉션의 모든 객체를 index 위치에 추가get(index)
: 특정 인덱스 값 조회set(index, obj)
: 특정 위치에 객체 저장remove
: 특정 값 삭제remove(index)
: 인덱스에 위치하는 값 삭제remove(obj)
: 특정 객체 삭제indexOf(obj)
: 리스트에서 특정 객체의 인덱스를 반환subList(fromIndex, toIndex)
: fromIndex와 toIndex-1까지의 부분 리스트 반환contains(obj)
: 특정 원소가 리스트 내에 있는 지 확인sort()
: 리스트를 오름차순으로 정렬sort(comparator)
: 리스트를 특정 정렬 기준으로 정렬toArray()
: 리스트를 고정 크기의 배열로 전환Map 인터페이스를 구현한 HashMap을 주로 사용
put(key, value)
: 맵에 key와 value 값 추가putAll(map)
: map의 모든 원소를 추가get(key)
: key와 매핑된 value 반환remove(key)
: 특정 key에 해당하는 값을 삭제replace(key, value)
: 특정 key에 해당하는 값을 value로 대체clear()
: 맵에 저장된 모든 객체 제거containsKey(key)
: 특정 key가 맵에 있는지 판별containsValue(value)
: 특정 value가 맵에 있는지 판별keySet()
: 맵의 모든 key가 저장된 Set을 반환entrySet()
: 맵의 모든 entry(=key와 value의 결합) 저장된 Set을 반환values()
: 맵의 모든 value 값을 컬랙션 형태로 반환Set 인터페이스를 구현한 HashSet을 주로 사용
clear()
: Set에 저장된 모든 객체 제거getOrDefault(key, defaultValue)
: key가 없다면 defualtValue로 초기화하여 반환하고, 있다면 해당 key의 value를 반환아래 함수들은 확인/성공 여부를 boolean 값으로 반환
add(obj)
: Set에 특정 요소 추가addAll(c)
: 주어진 컬렉션의 모든 객체를 집합에 추가 (=합집합)remove(obj)
: Set에 특정 요소 삭제removeAll(c)
: 주어진 컬렉션의 객체와 같은 원소를 제거(=차집합)contains(obj)
: 특정 객체를 포함하는지 확인containsAll(c)
: 주어진 컬렉션의 모든 객체를 포함하는지 확인(=부분집합)retainAll(c)
: 주어진 컬렉션의 객체와 동일한 것만 남기고 삭제(=교집합)push(obj)
: 스택의 top에 값을 삽입pop()
: 스택의 top 값을 반환한 뒤에 삭제peek()
: 스택의 top 값 조회clear()
: 스택의 값을 모두 제거empty()
: 스택이 비어있는지 확인contains(obj)
: 스택이 특정 원소를 포함하고 있는지 확인search(obj)
: 스택에서 특정 원소를 찾아 위치(1부터 시작)를 반환일반적인 큐는 주로 LinkedList를 사용
add(obj)
: LinkedList 의 마지막에 객체를 추가offer(obj)
: 큐의 마지막에 객체를 추가add
는 예외를 발생시키지만 offer
는 false를 반환offerFirst(obj)
: LinkedList의 맨 앞에 객체를 추가offerLast(obj)
: LinkedList의 맨 마지막에 객체를 추가poll()
: 큐의 맨 앞에 위치한 값을 반환한 뒤에 삭제pollFirst()
: LinkedList의 첫번째 노드르 반환하면서 제거pollLast()
: LinkedList의 마지막 노드르 반환하면서 제거peek()
: 큐의 맨 앞에 위치한 값을 반환peekFirst()
: LinkedList의 첫번째 노드를 반환peekLast()
: LinkedList의 마지막노드를 반환우선순위 큐는 주로 PriorityQueue를 사용
Math.max(n1, n2)
: 두 인자 중 더 큰 값을 반환Math.min(n1, n2)
: 두 인자 중 더 작은 값을 반환Math.abs(n)
: 절댓값을 반환Math.pow(base, exponent)
: 제곱 값을 반환Math.sqrt(n)
: 제곱근 반환Math.round(n)
: 소숫점 첫번째 자리에서 반올림한 결과 반환Math.floor(n)
: 내림 연산 결과 반환Math.ceil(n)
: 올림 연산 결과 반환Arrays
Data Type 변환
Collection Framework
Stack
Math