정리_1

김도엽·2022년 5월 16일
0

Etc.

목록 보기
1/2

문자열 정수 반환

Interger.parseInt(String a)

글자 자르기

substring(시작값 index a, int b전까지)

날짜 관련

Localdate()

ArrayList 관련 -> 동적 배열

생성자 :
new ArrayList() : 기본 크기가 10인 배열 생성
new ArrayList(크기) : 크기 지정
new ArrayList<제너릭> (): 배열 값들의 Tpye 지정
메소드:
.add(Index, val) : 순서대로 추가 * 배열 크기 초과하면 기존 배열 크기만큼 늘림
.get(index) : 인덱스 값 반환
.set(index, val) : 인덱스 값 변경
.indexOf(val) : 배열 중 해당 val 값이 첫번째에 나오는 인덱스 값을 반환
.lastindexOf(val) : 배열 중 해당 val 값이 있는 마지막 인덱스 값을 반환
.remove(index or val) : 인덱스의 값 or 값 중 첫번째 값 삭제
.contains(val) : 해당 값 검색 후 True or False 반환
.containsAll(val1, val2, val3, ...) : 해당 val들이 모두 포함되어있는지 검색 후 T or F 반환
.toArray() : ArrayList 타입의 객체를 저장할 일반 배열 타입/크기로 반환,
.clear(): 배열 값 전체 삭제
.isEmpty() : 값이 있으면 T / 없으면 F
.addAll(arr2) : 배열 합체
.retainAll(arr2) : arr2내에 들어있는 값 제외하고 싹다 지움
.removeAll(arr) : arr2내에 들어있는 값들 싹 지움
.size() : 크기(개수) 반환

Math 관련

.random() : 랜덤( 보통 *100 씀 )
.abs(int a) : 절대 값 반환
.pow(int a, int b) : a의 b승
.sqrt(int a) : a의 제곱근
.max(int a, int b) : a b 중 큰 값 반환
.min(int a, int b) : a b 중 작은 값 반환
.floor(int a) : 내림
.ceil(int a) : 올림
.round(int a) : 반올림

HashMap 관련

생성자
HashMap<키 제너릭, 값 제너릭> : 제너릭 타입 입력
메소드
.put(K , V) : key , value 추가 / 이미 key값이 있다면 value 값 변경
.keySet() : key 출력
.values() : value 출력
.get(K) : 해당 key 의 value 출력
.replace(K, V) : 해당 key의 value 수정
.containsKey(K) : key값이 있는 지 확인 후 T or F 반환
.containsValue(V) : value 값 있는지 확인 후 T or F 반환
.remove(K) : Key 값의 key와 value 제거
.clear() : 전체 삭제

Iterator 관련

생성자
Iterator<제너릭>
메소드
.hasNext() : 다음 값이 있으면 True 없으면 False
.next() : 다음 값 반환









정규 표현식

정규표현식(Regular Expression, Regex, Regexp)

  • 문자열을 처리하는데 사용되는 패턴 기반의 문자열(식)
  • 정규표현식을 통해 처리(검증)할 문자열 패턴을 지정하고
    특정 클래스(객체) 등을 사용하여 정규표현식에 부합되는지 여부 체크
    ex) 패스워드 유효성 검사, 전화번호or이메일 양식 검사 등
    = 유효성 검증(Validation Check)이라고 함
  • 응용프로그램 뿐만 아니라 웹, 네트워크 프로그래밍 등에서
    공용으로 사용 가능한 표준 표현식
    (자바, 웹(자바스크립트 등)에서 모두 활용 가능)

< 정규표현식에 사용되는 패턴 문자 = 메타 문자(Meta Character) >
=> 특정 글자,숫자,기호 등과 함께 앞,뒤에 특수한 규칙의 기호를 붙여 패턴 지정

[ 일반적인 기호 ]

  1. ^x : x로 시작하는 문자열인지 판별
    ex) "x", "xa", "xxx", "xab" 등(O)
    ex2) "y", "ax", "abx" 등(X)
    ex3) ^홍 => "홍길동", "홍순이", "김홍도"(X)

  2. x$ : x로 끝나는 문자열인지 판별
    ex) "x", "ax", "xxx", "abx" 등(O)
    ex2) "x", "xa", "xxx", "xab" 등(X)


만약, x 로 시작해서 x로 끝나는 문자열일 경우(= x 1개만 존재하는 경우)

^x$ : "x"(O), "xy"(X), "x1"(X)


  1. .x : x 앞에 1개의 문자가 포함되는 문자열
    ex) "ax", "bx", "abxy" => 사용 가능
    ex2) "xa", "xb", "x" => 사용 불가능

  2. x+ : x가 1번 이상 반복되는 문자열
    ex) "x", "xx", "xxx" 등 사용 가능
    ex2) "a", "" 등 사용 불가능

  3. x* : x가 0번 이상 반복되는 문자열
    ex) "", "a", "x", "xx", "xxx" 등 사용 가능
    => 주로, 다른 패턴과 결합하여 사용

  4. x? : x가 나올 수도 있고, 나오지 않을 수도 있는 문자열
    ex) "x", "", "a" 등 사용 가능(단독으로 사용 시 아무 문자열이나 모두 해당)
    => 주로, 다른 패턴과 결합하여 사용

  5. x|y : x 또는 y 가 포함되는 문자열
    ex) "x", "y", "xy", "ax", "yb" 등 사용 가능


예시)
1) xa?y$

  • 시작되는 문자열은 상관없음
  • 문자열 내에서 x 뒤에 a가 올 수도 있고, 안 올 수도 있음
  • 반드시 마지막은 y로 끝나는 문자열
    ex) "xy"(O) => x가 포함되고, x 뒤에 a는 없지만 y로 끝나는 문자열
    ex) "xay"(O) => x 뒤에 a가 있고, y로 끝나는 문자열
    ex) "hixy"(O) => 첫번째 항목과 동일(시작은 상관없음)
    ex) "hixzy"(X) => y로 끝나고 x 와 y 사이의 문자는 a 여야만 한다. (z는 불가)
    ex) "xyz"(X) => x 뒤에 y 가 있지만, y로 끝나지 않으면 안된다!

2) x|a?y$

  • 시작되는 문자열은 상관없음
  • 문자열 내에서 x가 포함되거나 또는 a?y$ 인 문자열
    ex) "xy"(O) => x 가 포함됨
    ex) "hixy"(O) => x 가 포함됨
    ex) "ay"(O) => a가 있고, a 뒤에 y로 끝나는 문자열
    ex) "ayz"(X) => a 뒤에 y도 있지만, y로 끝나지 않으므로 안된다.
    [ 괄호 문자 ]
  1. (xy) : 소괄호 안의 내용(xy)이 그대로 포함되는 문자열(괄호안의 문자열 그룹화)
    ex) "xy"(O), "yx"(X), "axy"(O)

  2. x{n} : x 가 n 번만큼 반복되는 문자열(정확히 n번 반복)
    ex) x{5} => "xxxxx"(O), "xxx"(X)
    ex) (a1){5} => "a1a1a1a1a1"

  3. x{n,} : n번 이상 반복되는 문자열
    ex) x{3,} : 최소 x가 3번 이상 반복되어야 함 "xxx"(O), "xxxxx"(O), "xx"(X)

  4. x{n,m} : x 가 n번 이상, m번 이하 반복되는 문자열
    ex) x{2,4} : "xx"(O), "xxx"(O), "xxxx"(O), "x"(X), "xxxxx"(X)

  5. 대괄호[] 는 괄호 내의 구성요소를 확인하는 용도로 사용
    (괄호 안의 내용 중 하나 이상을 확인)
    5-1. [x] : x가 1개 포함되는 문자열
    5-2. [xy] : x 또는 y가 1개 포함되는 문자열
    5-3. [^x] : x가 포함되지 않는 문자열(대괄호 안에 ^ 사용 시 부정의 의미)
    5-4. [x-y] : x 부터 y 까지의 문자 중 1개 포함되는 문자열
    ex) [A-Z] : 대문자 A 부터 대문자 Z 까지 중 1개 문자
    ex) [a-z] : 소문자 A 부터 소문자 Z 까지 중 1개 문자
    ex) [0-9] : 숫자 0 부터 숫자 9 까지 중 1개 문자
    ex) [가-힣] : 한글 1개 문자
    => 주로, 중괄호{}(반복 횟수 지정)와 조합하여 사용됨
    ex) [가-힣]{2,5} : 한글 2 ~ 5글자(주로 이름 입력란 확인 용도)
    ex) [A-Za-z]{2,8} : 영문자(대소문자) 2 ~ 8글자
    ex) [A-Za-z0-9!@#$]{8,16} : 영문자 또는 숫자 또는 특수문자[(!@#$)]8 ~ 16글자
    ex) 식별자 작성 규칙을 정규표현식으로 표현
    1) 첫글자 숫자 사용 불가(영문자, 한글, 특수문자 $ 또는 만 사용)
    2) 특수문자 $ 또는 만 사용
    3) 예약어 사용 불가(정규표현식으로 판별 불가)
    4) 대소문자 구별(정규표현식으로 판별 불가)
    => 1번과 2번 규칙을 적용하여 정규표현식으로 나타낼 경우
    "^[A-Za-z가-힣$][A-Za-z가-힣0-9$]{0,}$"


[ 예외 문자 ]
^ : ^ 기호를 시작 기호로 인식하지 않고, 일반 특수문자로 인식
\d : 숫자 1개([0-9] 와 동일)
\D : 숫자가 아닌 것 1개([^0-9] 와 동일)
\s : 공백 문자
\S : 공백이 아닌 문자
\w : 영단어를 구성하는 요소 1개(알파벳, 숫자, )
\W : 영단어가 아닌 구성하는 요소 1개(알파벳, 숫자, )


< 유용한 정규표현식 예 >
1. 한글 이름(2글자 ~ 5글자 사이) : ^[가-힣]{2,5}2.휴대폰번호:(010011)[\s]?\d3,4[\s]?\d42. 휴대폰 번호 : ^(010|011)[-\s]?\d{3,4}[-\s]?\d{4}
1) 010 또는 011 로 시작
2) 전화번호 사이는 - 기호 또는 공백이 포함될 수도 있고 포함되지 않을 수도 있음
3) 두번째 자리는 3자리 또는 4자리 숫자
4) 마지막 자리는 4자리 숫자로 끝

profile
즐거운

0개의 댓글