목록자료구조 (3)
Hello, Coding
String 클래스는 문자열의 추출, 비교, 찾기, 분리, 변환 등과 같은 다양한 메소드를 가지고 있다. 그러면 자바에서 문자열을 다루는 메소드들은 무엇이 있을까? equals() : 문자열이 같은지 비교 합니다. 왜 ==을 안 쓰는지 아래의 글을 참고하면 됩니다. [ JAVA ] "==" 와 "equals" 의 차이점은 무엇일까? 흔히 프로그래밍 코드에서는 "~~와 같다"를 표현할 때 == 을 사용한다. 하지만 자바에서는 String 타입에서는 == 대신 equals()라는 메소드를 사용해 비교한다. 왜 equals()를 사용할까? 자바에서 String을 codingduram.tistory.com indexOf() : 특정 문자가 시작되는 인덱스 리턴 합니다. length() : 문자열의 길이를 반환 ..

final의 사전적 의미로는 "마지막의" "최종"등의 의미를 지니고 있다. 그러면 자바에서의 final은 왜 쓰이는 걸까? 자바에서의 final은 값의 불변성을 확보 한다. 그게 무슨 뜻이냐면 만약 변수를 선언 할 때 앞에 final을 붙이고 값을 초기화 하면 그 초기화된 값은 절대로 변경 할 수 없다. 아래의 사진을 참고 이것은 final을 변수에 썼을 때 확인할 수 있다. final은 변수 말고도 final arguments와 final 클래스 그리고 final 메소드가 있다. 각각 아래와 같이 사용된다. - final variables, arguments : 값이 변경되지 않도록 합니다. - final class : 클래스를 상속하지 못하도록 합니다. - final method : 메소드가 오버라이..

이것에 대해 먼저 다루기 전에 Equals()가 무엇인지 알 필요가 있다. Equals()는 자바에서 비교할 때 쓰이는 메소드인데 2개의 객체가 동일한지 검사할 때 쓰인다. 그리고 다음으로는 hashCode가 무엇인지 알아야 한다. 자바에서 hashCode는 자료구조를 사용할 때 자료가 저장되는 위치를 결정하기 위해 쓰이게 된다. 그러면 두 객체가 동일한 hashCode를 가지면 Equals()가 참으로 나오게 될까? 결론부터 말하자면 그렇지는 않다. 만약 문자열 "Hello World"의 Hash code가 "12930481" 이라 했을 때 그렇다고 해서 "12930481"이라는 해시 코드를 문자열 "Hello World"만 가질 수 있는건 아니기 때문이다. 다른 문자열도 언제든지 동일한 해쉬코드를 받..