int x = 10; | 정수 (32비트) |
long l = 10L; | Long (64비트) |
double d = 3.14; | Double (64비트) |
float f = 3.14f; | Float (32비트) |
boolean b = true; | 불리언 |
char c = 'A'; | 문자 (16비트) |
String s = "hello"; | 문자열 객체 |
final int MAX = 100; | 상수 |
int[] arr = new int[5]; | 배열 선언 |
int[] arr = {1, 2, 3}; | 배열 초기화 |
arr.length | 배열 길이 |
int[][] matrix = new int[3][3]; | 2차원 배열 |
Arrays.sort(arr) | 배열 정렬 |
Arrays.copyOf(arr, len) | 배열 복사 |
Arrays.fill(arr, val) | 배열 채우기 |
s.length() | 문자열 길이 |
s.charAt(i) | 문자 얻기 |
s.substring(start, end) | 부분 문자열 |
s.indexOf("text") | 인덱스 찾기 |
s.split(",") | 문자열 분할 |
s.trim() | 공백 제거 |
s.toLowerCase() / toUpperCase() | 대소문자 변환 |
String.format("%d", n) | 문자열 포맷 |
public class MyClass { } | 클래스 정의 |
private int field; | 비공개 필드 |
public MyClass() { } | 생성자 |
this.field = value; | 인스턴스 필드 접근 |
static int count; | 정적 필드 |
public static void main(String[] args) | 메인 메서드 |
class Child extends Parent | 클래스 확장 |
super() | 부모 생성자 호출 |
super.method() | 부모 메서드 호출 |
@Override | 오버라이드 어노테이션 |
interface MyInterface { } | 인터페이스 정의 |
class MyClass implements Interface | 인터페이스 구현 |
abstract class MyClass { } | 추상 클래스 |
abstract void method(); | 추상 메서드 |
public | 모든 곳에서 접근 가능 |
protected | 같은 패키지 + 자식 클래스 |
default (no modifier) | 같은 패키지만 |
private | 같은 클래스만 |
final | 오버라이드/확장 불가 |
static | 클래스 레벨 멤버 |
List<String> list = new ArrayList<>(); | ArrayList 생성 |
List<String> list = new LinkedList<>(); | LinkedList 생성 |
list.add(item) | 요소 추가 |
list.get(index) | 인덱스로 얻기 |
list.set(index, item) | 인덱스에 설정 |
list.remove(index) | 인덱스로 제거 |
list.size() | 크기 얻기 |
list.contains(item) | 포함 확인 |
Set<String> set = new HashSet<>(); | HashSet 생성 |
Set<String> set = new TreeSet<>(); | TreeSet 생성 (정렬) |
Map<String, Integer> map = new HashMap<>(); | HashMap 생성 |
map.put(key, value) | 키-값 넣기 |
map.get(key) | 키로 얻기 |
map.getOrDefault(key, default) | 기본값으로 얻기 |
map.containsKey(key) | 키 존재 확인 |
map.keySet() / values() / entrySet() | 키/값/엔트리 얻기 |
Queue<Integer> q = new LinkedList<>(); | Queue 생성 |
Deque<Integer> dq = new ArrayDeque<>(); | Deque 생성 |
q.offer(item) / q.add(item) | 큐에 넣기 |
q.poll() / q.remove() | 큐에서 빼기 |
q.peek() | 앞 확인 |
Stack<Integer> stack = new Stack<>(); | Stack 생성 |
stack.push(item) | 푸시 |
stack.pop() | 팝 |
list.stream() | 컬렉션에서 스트림 |
Arrays.stream(arr) | 배열에서 스트림 |
Stream.of(1, 2, 3) | 값에서 스트림 |
Stream.iterate(0, n -> n + 1) | 무한 스트림 |
Stream.generate(Math::random) | 스트림 생성 |
IntStream.range(0, 10) | 범위 스트림 |
.filter(x -> x > 0) | 요소 필터링 |
.map(x -> x * 2) | 요소 변환 |
.flatMap(list -> list.stream()) | 중첩 평탄화 |
.distinct() | 중복 제거 |
.sorted() | 요소 정렬 |
.limit(n) | n개로 제한 |
.skip(n) | n개 건너뛰기 |
.peek(System.out::println) | 디버깅용 peek |
.collect(Collectors.toList()) | List로 수집 |
.collect(Collectors.toSet()) | Set로 수집 |
.collect(Collectors.toMap(k, v)) | Map로 수집 |
.collect(Collectors.joining(",")) | 문자열 결합 |
.forEach(System.out::println) | 각 요소에 대해 |
.reduce(0, (a, b) -> a + b) | 단일 값으로 축소 |
.count() | 요소 수 세기 |
.anyMatch(x -> x > 0) | 조건 일치 여부 |
(a, b) -> a + b | 기본 람다 |
x -> x * 2 | 단일 매개변수 (괄호 없음) |
() -> "hello" | 매개변수 없음 |
(a, b) -> { return a + b; } | 블록 본문 |
String::length | 메서드 참조 |
System.out::println | 인스턴스 메서드 참조 |
MyClass::new | 생성자 참조 |
Function<T, R> | T -> R 변환 |
Predicate<T> | T -> boolean 테스트 |
Consumer<T> | T -> void 동작 |
Supplier<T> | () -> T 제공자 |
BiFunction<T, U, R> | (T, U) -> R |
UnaryOperator<T> | T -> T |
BinaryOperator<T> | (T, T) -> T |
Optional.of(value) | 값으로 생성 |
Optional.ofNullable(value) | null 가능으로 생성 |
Optional.empty() | 빈 것 생성 |
opt.isPresent() | 존재 확인 |
opt.ifPresent(consumer) | 존재하면 동작 수행 |
opt.orElse(default) | 얻거나 기본값 |
opt.orElseThrow() | 얻거나 예외 |
opt.map(func).flatMap(func) | Optional 변환 |
try { } catch (Exception e) { } | 기본 try-catch |
catch (IOException | SQLException e) | 다중 catch |
finally { } | finally 블록 |
try (Resource r = new Resource()) | try-with-resources |
throw new Exception("msg") | 예외 던지기 |
throws IOException | throws 선언 |
Exception | 검사 예외 기본 |
RuntimeException | 비검사 예외 기본 |
NullPointerException | null 참조 |
IndexOutOfBoundsException | 인덱스 범위 초과 |
IllegalArgumentException | 잘못된 인수 |
IOException | I/O 에러 |