맵
-
지네릭스(Generics)와 Iterator & HashMap백엔드/자바 2021. 5. 22. 18:10
지네릭스와 Iterator 위와 같은 Student라는 일반 클래스가 있다고 가정해보자. 그리고 Student 클래스의 객체를 리스트에 저장한 다음 Iterator()메서드를 이용해서 Iterator 객체를 호출해서 리스트에 저장된 Student 객체의 이름을 출력하는 코드가 있다고 가정하자. 이때 Iterator객체의 next() 메서드는 Object 자료 타입으로 객체를 반환한다. 그렇기 때문에 Student의 변수인 s에 객체를 저장할 때 별도로 Student로 캐스팅을 한 것이다. 그런데 Iterator 객체를 호출할 때 지네릭스를 쓴다면 코드를 간결하게 쓸 수 있다. 위와 같이 미리 Iterator 객체를 호출할 때 지네릭스를 써서 이용할 객체를 미리 써두면 캐스팅이 필요없다. 그래서 훨씬 간결..
-
컬렉션 프레임워크(collection framework)백엔드/자바 2020. 8. 16. 02:21
컬렉션 프레임워크의 필요성 자바를 배우기 시작하면 데이터 관리를 위한 기능인 배열을 배우게 된다. 하지만 배열은 사용하다보면 여러 면에서 한계가 드러난다. 그 중에서 가장 큰 한계 중 하나는 배열을 선언시 크기를 미리 지정해야한다는 것이다. 예를 들어 위와 같이 정수형 데이터 3개를 넣을 수 있는 배열을 선언했다고 가정해보자. 여기서 3개의 정수형 데이터까지는 정상적으로 입력되지만, 4개부터는 컴파일 오류를 발생시킨다. 자바를 이용해 계속 개발하다보면 배열의 크기를 미리 가늠할 수 없는 경우가 더 많다. 그럴때마다 별도의 처리를 해주는 등의 불편함이 발생한다. 또한 배열은 단 한가지 타입의 데이터만 입력이 되므로 이러한 점도 불편함을 발생시킨다. 이러한 배열의 한계로 인해 데이터를 다루기 위한 컬렉션 프..