1. Equals

  1. == 비교 연산자
    1. 주소의 값을 비교함(Call By Reference)
    2. 주소값 : 실제 내용의 값이 아닌 자료의 위치의 값임
  2. Equals Method(메소드)
    1. Object(객체)끼리 내용을 비교함(Call By Value)
  3. Equals Method[타입별]
    1. Object[객체]
      1. Object의 주소를 비교함
      2. 같은 값을 가진 Object라도 따로 생성되었다면 False가 나옴
    2. String[문자열]
      1. 문자열 값이 같으면 True를 반환함
      2. Java에서 흔히 문자열을 비교할때 사용함
      3. 비교대상이 **String Instance(인스턴스)**라면 문자열을 비교해서 True라면 반환해줌
    3. Integer[정수형]
      1. Integer Instance라면 intValue를 비교해서 값을 반환해줌

2. Split

  1. 구분자를 기준으로 문자열(String)을 잘라 배열(Array)로 입력할 때 사용하는 메서드(Method)임
  2. 표현법은 split(String regex); ⇒ 구분자를 바탕으로 배열형식으로 문자열을 잘라 줄때임
  3. ex1) split(String regex);
    1. 공백 “ “ 을 사용해 문자열을 분리함
      1. String str = “Hello World”;
      2. String[] strArr = str.split(” “); ⇒ Hello
      3.                                               World
        
    2. “ , ”를 기준으로 분리함
      1. String str = “Hello,World”;
      2. String[] strArr = str.split(”,“); ⇒ Hello
      3.                                               World
        
    3. 여러 개의 구분자를 두어서 분리함
      1. String str = “Hello,World test@gmail.com”;
      2. String[] strArr = str.split(”,|@|-| “); ⇒ Hello
      3.                                                       World
        
      4.                                                       test
        
      5.                                                       gmail.com
        
    4. 하나의 값만 가져오기
      1. 배열이 아닌 하나의 값만 가져올때!
      2. String str = “010-1234-5678”;
      3. String[] strArr = str.split(”-“)[3]; ⇒ 5678

3. Hash

  1. Hash?
    1. Arraylist는 내부 index를 이용하여 검색이 한번에 이루어지기 때문에 빠른 검색 속도를 보장함
    2. 데이터 추가/삭제시 기존 데이터를 밀어내거나 당기는 작업 없이 특별한 알고리즘을 이용하여 데이터와 연관된 고유한 숫자를 만들어 낸 뒤 Index를 사용함
  2. HashTable
    1. key : value에서 key를 테이블에 저장할 때 key값을 Hash Method를 이용해 계산을 한 후, 결과값을 배열의 Index로 사용하여 저장하는 방식을 말함
  3. HashMethod
    1. 특별한 알고리즘을 이용하여 데이터의 고유한 숫자값을 만들어 Index로 사용함
    2. 알고리즘을 구현한 Method를 HashMethod라고 하며 Hash Method에 의해 반환된 데이터의 고유 숫자값을 Hash Code라고 함
    3. Java에서는 Object클래스의 hashCode method를 이용하여 모든 Object의 HashCode를 쉽게 구할 수 있음
    4. 데이터가 저장되어 있는 곳을 알려주기 때문에 다량의 데이터 중에서도 원하는 데이터를 빠르게 찾을 수 있음
  4. Hashing
    1. HashMap과 같이 Hashing을 구현한 컬렉션 클래스에서는 Object클래스에 정의된 hasCode()를 HashMethod로 사용함
    2. HashMethod를 이용해 데이터를 HashTable에 저장하고 검색하는 기법을 Hashing이라함
    3. Object클래스에 정의된 hashCode()는 Object의 주소를 이용하는 알고리즘으로 HashCode를 만들어내기 때문에 모든 Object에 대해 중복되지 않는 값을 제공함
    4. String클래스의 경우 Object로 상속받은 hashCode()를 오버라이딩하여 String의 내용으로 HashCode를 만들어내고, 서로다른 String Instance일지라도 같은 내용의 String을 가졌다면 hashCode()를 호출했을때 같은 값을 얻을 수 있음
  5. HashMap
    1. key-value로 값을 저장함
    2. Arraylist처럼 index로 해당 데이터에 바로 찾아가는 기능이 구현되어 있음
    3. key를 추가/삭제할때 LinkedList처럼 다른 데이터들의 index를 바꿔 줄 필요없이 key의 중복만 검사해서 빠르게 변경해주면 됨