본문 바로가기

JAVA

(11)
List.sort() 메서드 사용방법 정리 List.sort( ~~ )오름차순 (기본 숫자)Integer::compareTo작은 값부터 큰 값 순으로 정렬내림차순 (기본 숫자)(a, b) -> b - a큰 값부터 작은 값 순으로 정렬문자열 사전순String::compareTo알파벳 순서대로 정렬문자열 길이 (오름차순)(s1, s2) -> s1.length() - s2.length()문자열 길이가 짧은 순서대로 정렬문자열 길이 (내림차순)(s1, s2) -> s2.length() - s1.length()문자열 길이가 긴 순서대로 정렬객체 필드 (오름차순)(o1, o2) -> o1.age - o2.age객체의 특정 정수 필드(예: 나이) 기준 정렬객체 필드 (내림차순)(o1, o2) -> o2.age - o1.age객체의 특정 정수 필드 기준 내림차..
자바Java 파일 입출력 관련 라이브러리/클래스 정리표 + 간단 설명 항상 코딩을 하다보면 뭐가 있는지 알지 못해 고전하는 경우가 많은 것 같습니다. 일단 뭐가 있는 지 알고 상황에 맞는 것들을 취사선택해서 습득 하시면 도움이 되지 않을까 생각해봅니다. 라이브러리/ 클래스설명입출력단위주요 메서드 / 기능주로 사용하는 경우FileInputStream / FileOutputStream파일을 바이트 단위로 읽고 씁니다.바이트read(), write()이미지, 동영상 등 바이너리 파일을 처리할 때FileReader / FileWriter파일을 문자 단위로 읽고 씁니다.문자read(), write()텍스트 파일을 간단히 읽고 쓸 때BufferedReader / BufferedWriter버퍼를 사용하여 성능을 최적화한 문자 입출력 스트림입니다.문자readLine(), write(),..
StringBuilder, StringBuffer 메서드 정리, 차이점? append(String str)문자열의 끝에 지정된 문자열 추가sb.append("Hello")Helloinsert(int offset, String str)지정된 인덱스 위치에 문자열 삽입sb.insert(5, "World")"HelloWorld"delete(int start, int end)지정된 범위의 문자열 삭제sb.delete(0, 5)"World"deleteCharAt(int index)지정된 인덱스의 문자 삭제sb.deleteCharAt(0)"ello" (H 제거)replace(int start, int end, String str)지정된 범위의 문자열을 새로운 문자열로 대체sb.replace(0, 5, "Hi")"HiWorld"reverse()문자열을 반전sb.reverse()"dlroW..
Map 메서드 사용법 정리 put(K key, V value)키와 값을 추가하거나, 동일한 키가 존재하면 값을 덮어씀map.put("A", 1);{"A"=1}putAll(Map m)다른 맵의 모든 키-값 쌍을 추가map.putAll(anotherMap);다른 맵의 모든 요소 추가됨putIfAbsent(K key, V value)키가 존재하지 않는 경우에만 값을 추가map.putIfAbsent("A", 2);이미 존재 시 값이 추가되지 않음get(Object key)지정된 키의 값을 반환map.get("A");1getOrDefault(Object key, V defaultValue)키가 없을 경우 기본값 반환map.getOrDefault("B", 0);0 (키 "B"가 없을 경우)remove(Object key)지정된 키의 키-값 ..
List 메서드 사용법 정리 add(E element)리스트의 끝에 요소 추가list.add("A")["A"]add(int index, E element)지정한 인덱스에 요소 삽입list.add(1, "B")[A, "B"] (1번 위치에 "B" 추가)get(int index)지정한 인덱스의 요소 반환list.get(0)"A"set(int index, E element)지정한 인덱스의 요소를 변경list.set(0, "C")["C", "B"]remove(int index)지정한 인덱스의 요소 제거list.remove(1)["C"]remove(Object o)지정된 객체의 첫 번째 일치 항목 제거list.remove("C")[]clear()리스트의 모든 요소 제거list.clear()[] (빈 리스트)size()리스트의 요소 개수 반환..
문자열을 더하는 방법 정리 방법설명예시 코드java 버전+ 연산자문자열을 간단히 연결하는 가장 기본적인 방법String result = "Hello, " + "world!";모든 버전String.concat()String 클래스의 concat 메서드를 사용하여 문자열을 연결String result = "Hello, ".concat("world!");모든 버전StringBuilder문자열을 효율적으로 더할 수 있는 변경 가능한 객체. 반복문에서 유용함StringBuilder sb = new StringBuilder(); sb.append("Hello, "); sb.append("world!");모든 버전StringBufferStringBuilder와 유사하지만 스레드 안전(thread-safe)StringBuffer sb = new..
배열의 길이와 내용을 함께 체크 해야한다. assertArrayEquals 배열의 길이와 내용을 함께 체크하는 assertArrayEquals를 써야함 배열이 같다는 테스트 결과가 나오는 이유는, 테스트에서 단순히 두 배열을 비교할 때 그들이 참조하고 있는 내용이 같다고 판단할 수 있기 때문입니다. 이를 조금 더 구체적으로 설명하겠습니다.1. 배열 객체의 내용 비교Java에서 배열 비교를 할 때는 두 가지 방법이 있습니다:참조 비교 (==)내용 비교 (Arrays.equals())기본적으로, 배열은 객체이기 때문에 참조(주소) 비교가 일어나지만, 만약 배열의 내용(내부 요소)을 비교하는 메서드를 사용하면 내부의 값이 같으면 같다고 판단될 수 있습니다.2. 두 배열의 내용String[] result3 = {""};: 이 배열은 길이가 1인 배열이며, 그 첫 번째 요소로 빈 문자열..
TDD 주요 애노테이션 정리 + Assertions 메서드모음 Junit5 기준 @Test테스트 메소드를 정의할 때 사용. 각 테스트는 이 애노테이션으로 표시됨.@Test void exampleTest() { ... }@BeforeEach각 테스트 메소드 실행 전에 공통적으로 실행해야 하는 초기화 작업을 정의할 때 사용.@BeforeEach void setup() { ... }@AfterEach각 테스트 메소드 실행 후에 정리 작업을 수행할 때 사용.@AfterEach void tearDown() { ... }@BeforeAll모든 테스트가 실행되기 전에 한 번 실행되는 메소드를 정의할 때 사용. 정적 메소드로 정의해야 함.@BeforeAll static void initAll() { ... }@AfterAll모든 테스트가 실행된 후에 한 번 실행되는 메소드를 정의할 때 사용. 정적..