자바3 HashCode HashCode란 해시 함수의 값 / 해시 함수를 통해 객체비교를 하기위한 값입니다. hashCode()가 필요한 이유는 객체 비교를 하는 시간 때문 ! 만약 equals()로 Integer가 아닌 객체를 비교 할 경우 생가보다 많은 시간이 걸립니다 .게다가 객체의 수가 많아질 경우 더욱 많은 시간을 쓰게 됩니다. 이때 hashcode()는 정수로 이뤄져있어 객체를 비교할 때에도 정수로 비교가 가능합니다 . String Str1 = "hello"; String Str 2= "hello"; String Str3 = new String("hello"); Str1과 2는 같은 해시값을 가지지만 Str3은 다른 Hash값을 가집니다. 이유는 1과 2는 같은 오브젝트를 가리키기 떄문이고 3은 다른 객체를 가리키기.. 2023. 3. 23. Array/List / Set Array 와 List의 차이 Array = 연속적인 메모리에서 같은 종류의 아이템을 가지는 자료구조(Data structure) List = 순서를 가진 추가,삭제 ,탐색을 가진 ADT(Abstract Data type) 여기서 ADT / DS 란 ADT (추상) -> 자바로 치면 interface => 혼자선 무언가를 할수 없음 즉> 구현체 x 상황 DS -> ADT + 구현 즉 > 구현체 o 즉 List는 아직 구현이 되지 않은 인터페이스 , array는 구현체(클래스) 라고 보면 될것같다. List VS Set List 는 중복 허용 o , 순서를 보장 O Set 은 중복 허용 X . 순서를 보장 X List 의 종류 (추가(add), 검색(contain, get, size), 삭제(remove,.. 2023. 3. 16. Generic 사용 이유 Generic : 타입을 강하게(구체적) 정의 ex) List list = new ArrayList(); 위처럼 제너릭으로 타입을 지정해주면 list 안에는 String 타입으로만 값을 지정할수 있다 이처럼 제너릭을 사용 하는 이유는 1.오류를 사전에 체크할 수 있다. 2. ex) List list = new ArrayList(); --> list.add("hello"); --> "hello" 는 String 타입이지만 저장 될 경우 object타입으로 저장 됨 String str = (String) list.get(0); 가져올경우 이런식으로 가져와야 하는데 이런식으로 타입변환이 많아지면 부담이 커짐 그래서 Generic으로 타입을 지정해주면 List list = new ArrayList(); list.. 2023. 3. 16. 이전 1 다음