진행중
String my_string; String substr = my_string.substring(start_idx, end_idx); // 마지막 end_idx는 포함 안 됨 end_idx까지 포함시키고 싶으면 +1할 것
ArrayList.subList(start_idx, end_idx); //원본 리스트의 값을 참조해서 슬라이싱 한다. 참조라 원본 리스트의 값이 바뀌면 이 녀석도 바뀜
Collections.sort() //ArrayList, LinkedList, Vector, stack, Queue와 같은 리스트 정렬로 쓰임
String original = "Hello, World!"; StringBuilder reversed = new StringBuilder(original).reverse(); String reversedString = reversed.toString();
import java.util.ArrayList의 경우에는 명확해서 가독성이 좋고 컴파일 시간에 이점이 있을 수 있다.
import java.util.* 은 다른 util의 필요한 경우까지 가져와서 편하지만 불필요한 클래스를 불러올 수 있으며, 코드가 복잡하고 충동이 일어날 수 있다. 또한 컴파일 시간에 약간의 부하가 있을 수 있다.
스택의 push
ArrayList.add(E element) //아이템을 리스트에 push한다. ArrayList.add(int idx, E element) //이건 그냥 특정 인덱스 위치에 값 추가 나머지 인덱스는 뒤로 밀림
스택의 pop
ArrayList.remove(int index) //지정된 인덱스의 값을 삭제 ArrayList.remove(Object o) //o에 해당되는 첫번째 값을 삭제
스택의 pop만 따로 구현되어 있지 않다.
배열을 리스트로
Arrays.asList(array);
리스트를 배열로
.toArray();
문자열을 문자 배열로
.toCharArray();
문자열을 문자열 배열로
.split();
문자열을 숫자로
.parseInt(), .parseDouble(), .parseFloat();
Pattern.matches(regex, input);
정규 표현식 regex와 문자열 input이 일치하는 지 확인
문자 클래스
'[abc]' : 'a', 'b', 'c' 중 하나와 일치. '[^abc]' : 'a', 'b', 'c' 이외의 문자와 일치. '[a-z]' : 소문자 알파벳 중 하나와 일치. '[A-Z]' : 대문자 알파벳 중 하나와 일치. '[0-9]' : 숫자 중 하나와 일치.
특수 문자 및 수량자
'.': 임의의 한 문자와 일치. '*'=: 앞의 패턴이 0회 이상 나타남. '+': 앞의 패턴이 1회 이상 나타남. '?': 앞의 패턴이 0회 또는 1회 나타남. '{n}': 앞의 패턴이 정확히 n번 나타남. '{n,}': 앞의 패턴이 최소한 n번 이상 나타남. '{n,m}': 앞의 패턴이 최소한 n번 이상, 최대 m번까지 나타남.
앵커
'^': 문자열의 시작과 일치. '$': 문자열의 끝과 일치.
대소문자 무시
'(?i)': 패턴 앞에 추가하여 대소문자를 무시하고 일치시킵니다.
Integer.MAX_VALUE, Integer.MIN_VALUE와 같이 모든 숫자형 뒤에 .MAX_VALUE, .MIN_VALUE
import java.util.HashMap; hashMap< , > // 원하는 키 값 타입과 값 타입 입력 hashMap.put(key, value) // key와 value 설정 //같은 키로 다른 값 넣으면 갱신됨 hashMap.get() // 키 값을 통해 value 알아냄 hashMap.remove() // 키 값에 해당되는 거 삭제 hashMap.containsKey(key) // 키가 존재하는 지 확인