코딩테스트-알고리즘/문법

오늘의 자바 문법

닉네임생각즁 2023. 12. 25. 23:53
삼항연산자 중첨 사용
(조건식) ? 참 : (조건식) ? 참 : 거짓

 

ArrayList 최대, 최소 구하기
import java.util.*;

Collections.max(list);
Collections.min(list);

 

ArrayList 특정 값 삭제
list.remove(int index)

 - 해당 index의 값이 삭제됨

 

list.remove(Object o)

 - 해당 값 중 첫번째 값 삭제

ex) list.remove(Integer.valueOf(1)) : 인덱스1값삭제(x) / 값이 1인거 삭제(1이 여러개라면 그 중 첫번째만 삭제)

 

ArrayList 모든 값 삭제
list.clear()

 

문자열 뒤집기

 - StringBuffer 클래스의 reverse() 메서드 사용

StringBuffer sb = new StringBuffer(str);
String reversedStr = sb.reverse().toString();

 

ArrayList -> Array 변환 시

 

- toArray()

List<Integer> list = new ArrayList<>();
...
Object[] arr = list.toArray();

-> Object 타입의 배열을 반환

-> 타입 변환이 자동으로 이루어지지 않아서 리턴 배열을 활용하기 번거로움

 

 

-toArray(T[] a)

List<Integer> list = new ArrayList<>();
...
Integer[] arr = list.toArray(new Integer[0]);

-> T 타입 배열을 반환

-> T는 값 타입이 될 수 없기 때문에 int, double, float와 같은 타입의 배열은 이 방법으로는 얻을 수 없음

-> 파라미터 a의 길이는 0으로 지정하면 알아서 list의 길이에 맞게 조정되어 arr에 저장됨

 

⭐ 주의할 점

- toArray() 를 쓰게 되면 반환되는 배열의 타입이 Object[]로 추론되기 때문에 컴파일러가 해당 타입을 확실하게 알지 못해 오류가 발생할 수 있음

- 명시적으로 반환될 배열의 타입을 지정하는 것이 좋음 (컴파일러가 반환 타입을 정확히 추론할 수 있게됨)

ex) toArray(new Integer[0] / toArray(new String[0])  

 

'코딩테스트-알고리즘 > 문법' 카테고리의 다른 글

오늘의 자바 문법  (1) 2024.01.06
오늘의 자바 문법 (ArrayList -> Array)  (0) 2024.01.05
오늘의 자바 문법  (1) 2023.12.23
오늘의 자바 문법  (0) 2023.12.22
오늘의 자바 문법  (1) 2023.12.21