지적과 댓글은 언제나 환영합니다!
INDEX
문자열 관련
// 분자열 분리
StringTokenizer st= new StringTokenizer("문자열 입니다", " ");
String str = st.nextToken(); // "문자열"
String[] arr = str.split(""); // ["문", "자", "열"]
Collection 관련
/* Header Library */
import java.util.Collection;
import java.util.List;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Set;
import java.util.*; // 급할떄만 쓰자
/* Array */
// 선언
int[] arr = new int[] {1,2,3};
int[] _arr = { 1, 2, 3, 4, 5 };
int[][] arr2 = {{1,2,3,4,5},{5,4,3,2,1}};
// 합계
Arrays.stream(arr).sum();
// 출력
Arrays.toString(arr);
Arrays.deepToString(arr2);
// 복사
Arrays.copyOfRange(arr, start, end);
// 중복제거
Arrays.stream(A).distinct().toArray();
/* List */
// 중복제거
list.stream().distinct().collect(Collectors.toList());
// 정렬
Collections.sort(list); // 오름차순
Collections.sort(list, Collections.reverseOrder()); // 내림차순
Collections.sort(list, String.CASE_INSENSITIVE_ORDER); // 오름차순 (대소문자 구분X)
// 최대, 최소
Collections.max(list);
Collections.min(list);
/* HashMap */
// 순회
hashMap.forEach((k,v) -> {...});
형 변환 관련
/* 기본형 변환 */
int i = Integer.parseInt("10"); // String → int
int i = Character.getNumericValue('10'); // char → int
char[] chars = "hello".toCharArray(); // String → char[]
/* List<String> → String[] */
String arr[] = list.toArray(new String[list.size()]);
// new String[0] : 같은 크기,
// new String[list.size()+1] : null로 채워서 append
/* String [] → List<String> */
List<String> list = new ArrayList<>(Arrays.asList(arr)); // 새로운 객체를 생성
List<String> list2 = Stream.of(arr).collect(Collectors.toList()); // 스트림 사용
// Arrays.asList(arr) : 원본 배열을 참조하는 리스트 반환(같이 변경됨)
/* int[] → List<Integer> */
int[] arr = { 1, 2, 3 };
List<Integer> intList = new ArrayList<>();
for (int item : arr) {
intList.add(item);
}
// 스트림 사용
List<Integer> intList = Arrays.stream(arr)
.boxed()
.collect(Collectors.toList());
JSON
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
ObjectMapper objectMapper = new ObjectMapper();
// JSON을 Object로
Student student = objectMapper.readValue(jsonStr, Student.class);
Student[] studentArr = objectMapper.readValue(jsonArrStr, Student[].class);
// JSON을 Map으로
Map<String, Object> jsonMap = objectMapper.readValue(jsonStr, new TypeReference<Map<String, Object>>() {});
// Object를 JSON으로
String studentJson = objectMapper.writeValueAsString(student);
String studentJson = objectMapper.writeValueAsString(jsonMap);
유용한 함수
/* Graph 생성 */
// 단 방향 [출발노드,도착노드] 가 주어졌을 때
int[][] arr=[[1,3],[1,5],[3,2],[3,4],[5,4],[5,6],[2,4],[4,6]];
ArrayList<ArrayList<Integer>> list=new ArrayList<>();
// 인접리스트 초기화
for(int i=0;i<=arr.length;i++){
list.add(new ArrayList<>());
}
// 양방향 인접리스트
for(int i=0;i<arr.length;i++){
int start=arr[i][0], end=arr[i][1];
list.get(start).add(end);
list.get(end).add(start);
}
출처
'How-to' 카테고리의 다른 글
몰래보는 VS Code 단축키 정리 (0) | 2023.01.18 |
---|---|
몰래보는 인텔리제이(IntelliJ) 단축키 정리 (0) | 2023.01.18 |
몰래보는 SQL Query 코드조각 (0) | 2023.01.18 |
몰래보는 파이썬(Python) 코드조각 (0) | 2023.01.18 |
마크다운(Markdown) 작성법 정리 (0) | 2023.01.18 |