본문 바로가기

Java/문법

(18)
[Java/문법] ArrayLIst 주요 메서드 정리 (add, get, contains, indexOf, lastIndexOf, set, remove, clear, size, isEmpty, toArray, forEach, sort(Comparator.naturalorder()/.reverseOrder())) ✏️ 추가: add메서드설명add(E e)리스트 끝에 요소 추가add(int index, E e)특정 인덱스에 요소 삽입ArrayList list = new ArrayList();list.add("Apple"); // ["Apple"]list.add("Banana"); // ["Apple", "Banana"]list.add(1, "Cherry"); // ["Apple", "Cherry", "Banana"] ✏️ 조회: get, contains메서드설명get(int index)특정 인덱스의 요소 가져오기contains(Object o)리스트에 특정 요소가 있는지 확인 (반환: true / false)indexOf(Object o)특정 요소의 인덱스 반환 (없으면 -1)lastIndexOf(Object..
[Java/문법] 얕은 복사(Shallow Copy) vs. 깊은 복사(Deep Copy) 👉🏻 들어가며Java의 복사 방식: 깊은 복사(Deep Copy), 얕은 복사(Shallow Copy)✏️ 얕은 복사(Shallow Copy)정의객체의 주소값만 복사즉, 복사본과 원본이 같은 객체를 참조하게 됩니다.따라서 복사본을 수정하면 원본도 영향을 받습니다.사용 케이스읽기 전용 데이터를 공유할 때 사용합니다.성능 최적화가 필요한 경우나 대용량 데이터를 다룰 때 얕은 복사를 사용하면 메모리와 시간을 절약할 수 있습니다. (실제 데이터는 복사하지 않고 참조 주소만 복사하기에)✏️ 깊은 복사(Deep Copy)정의객체의 실제 값을 새로운 메모리 공간에 복사복사본과 원본이 서로 독립적인 객체가 됩니다.따라서 복사본을 수정해도 원본에 영향을 주지 않습니다.사용 케이스객체의 상태를 보존하거나 멀티스레드 환..
[Java/문법] String 클래스의 주요 메서드 ✏️ 주요 메서드메서드문법설명substring()String substring(int beginIndex)String substring(int beginIndex, int endIndex)문자열의 일부를 추출합니다 equals()boolean equals(Object obj)두 문자열의 내용이 동일한지 비교합니다 startsWith()boolean startsWith(String prefix)boolean startsWith(String prefix, int toffset)문자열이 지정된 접두사로 시작하는지 확인합니다 toCharArray()char[] toCharArray()문자열을 문자 배열로 변환합니다 length()int length()문자열의 길이를 반환합니다 charAt()char charAt..
[Java/문법] 배열의 length와 String 클래스의 length() 👉🏻 들어가며배열: 같은 타입의 데이터를 연속된 메모리 공간에 저장하는 자료구조고정된 크기, 연속된 메모리로 매시 지역성 + 접근 속도가 빠름, 인덱스를 통한 접근, length 속성으로 배열 길이 확인String: 문자열을 다루기 위한 Java의 클래스불변 객체, 문자열 연산 시 새로운 String 인스턴스 생성, String Constant Pool로 메모리 최적화, length() 메소드로 문자열 길이 확인✏️ 정리배열의 length고정된 크기를 나타내는 필드메모리에 직접 접근 → 값을 가져옴 (O(1))배열의 크기는 생성 후 불변, 따라서 단순한 속성으로도 충분합니다.String의 length()객체의 상태를 반환하는 메소드객체 내부 상태에 접근하는 방식 (불변 객체)length()는 메소드로..
[Java/문법] 최대공약수(GCD), 최소공배수(LCM), 여러 수의 최소공배수 구하기 ✏️ 최대공약수(GCD)유클리드 호제법을 사용해 구할 수 있습니다.b가 0이 될 때까지 a를 b로 나눈 나머지를 계산합니다.public static int gcd(int a, int b) { if (b == 0) return a; return gcd(b, a%b);}  ✏️ 최소공배수(LCM)최대공약수를 이용해 구할 수 있습니다.두 수의 곱 / 최대공약수로 나누면 최소공배수를 구할 수 있습니다.public static int lcm(int a, int b) { return a*b / gcd(a, b);} ✏️ 여러 수의 최소공배수배열의 첫 번째 요소부터 시작해서 순차적으로 각 요소와의 최소공배수를 구할 수 있습니다.public static int lcmOfArray(int[] arr) { int r..
[Java] 검사 예외 vs. 비검사 예외 (IOException, SQLException vs. NullPointerException, ArithmeticException) 들어가며✍️ Keywords: Java는 외부 리소스와 관련된 예외는 강제적으로 처리하여 안정성을 높이고, 프로그래머의 실수나 논리적 오류는 강제하지 않음으로써 유연성을 제공합니다.Checked Exception (검사 예외), Unchecked Exception (비검사 예외), Error 구분상세 내용Checked Exception검사 예외, 컴파일러가 예외 처리를 강제로 하는 예외외부 자원과 관련된 예외들이 많습니다.(ex: IOException, SQLException)Unchecked Exception비검사 예외, 주로 프로그래머의 실수로 발생하는 예외컴파일러가 예외 처리를 강제하지 않습니다.(ex: NullPointerException, ArithmeticException) Error시스템 레..
[Java] List에서 중복 값의 빈도 세기 - Collections.frequency(), Map<String, Integer> map = new HashMap<String, Integer>() 1. 단일 값의 중복 값 세기Collections.frequency()ℹ️ 특정 컬렉션에서 특정 객체의 빈도를 계산하는 메서드입니다.매개변수c: o의 빈도를 결정할 컬렉션o: 빈도 결정하려는 대상컬렉션 c가 null인 경우 NullPointerException이 발생합니다.import java.util.*; public class GFG { public static void main(String[] args) { // Let us create a list with 4 items ArrayList list = new ArrayList(); list.add("code"); list.add("code"); list.add("quiz"); list.add("code"); ..
[Java] 빠른 입출력과 파싱 - BufferedReader(vs. Scanner), StringTokenizer(vs. split()), 주요 메서드 정리, 버퍼, 토큰, 정규 표현식, 빈 문자열 반환 주요 메서드 정리구분기능Scannernext(): 공백(스페이스) 전까지의 다음 토큰을 반환합니다.nextLine(): 한 줄 전체를 읽고 줄바꿈 문자 전까지의 문자열을 반환합니다.nextInt(): 정수형(int) 입력을 반환합니다.nextDouble(): 실수형(double) 입력을 반환합니다.nextBoolean(): Boolean 값을 반환합니다.hasNext(): 다음 입력이 존재하는지 여부를 반환합니다.hasNextInt(): 다음 입력이 정수인지 여부를 확인합니다.BufferedReaderread(): 한 문자를 읽고 정수 값으로 반환합니다. 더 이상 읽을 문자가 없으면 -1을 반환합니다.readLine(): 한 줄 전체를 읽고 문자열을 반환합니다. 더 이상 읽을 줄이 없으면 null을 반환..

반응형