2013-05-19 2 views
0

프로젝트에 대한 HashTable을 만들어야합니다. 지금의 약자로서, 그것은 실제로 대한특정 유형에 대한 내 HashTable 작동 방법

StudentHashTable<String,Integer> hashMap = new StudentHashTable<String,Integer>(); 

작동합니다 :

public class StudentHashTable<Name, DateOfBirth> { 

} 

내 해시를 만들 것입니다 방법은 다음과 같다 : 여기

내가 내 해시가 무엇인지 정의하는 방법이다 String 형의 키와 Integer 형의 값을 가지는 오브젝트 HashTable이 String 유형의 키와 Integer 유형의 값을 가진 Student 유형의 객체 만 수락하도록 강제 할 수 있도록하려면 어떻게 생각해야합니까?

+0

는 "정수 형의 문자열 유형과 값의 키가 형 학생의 객체"에 의해 무엇을 의미합니까? 귀하의 질문은 매우 불분명합니다. –

+2

귀하의 질문에 많은 의미가 없습니다. 우선, 자신 만의 컬렉션을 정의해서는 안됩니다. Java에는 표준 HashMap이 있습니다. 그것을 사용하십시오. 둘째, 더 높은 수준에서 성취하고자하는 바를 말해주십시오. String의 HashMap, Integer는 String과 Integer가 어디에서 왔는지 상관하지 않습니다. 어쩌면지도를 학생들을 다루는 클래스로 캡슐화하고지도를 외부에 노출시키지 않고 HashMap을 내부적으로 사용해야 할 수도 있습니다. –

+0

프로젝트 용으로 내 자신을 생성해야합니다. 나는 자바가 HashMap을 내장하고 있다는 것을 알고있다. 내 HashMap은 Student 객체 만 받아 들일 수 있습니다. 학생은 이름과 출생일 인 값인 키를 가지고 있습니다. 이전의 혼란에 대해 사과드립니다. – Nicholas

답변

1

맞춤형 HashMap을 으로 설정하려면 학생 만 받아 들여야합니다. 컬렉션은 일반적으로 generic이어야하므로 매우 이상한 요청입니다. 다음을 수행하십시오. 설정자는 학생 클래스에서만 작동합니다. 이렇게하면 원하는 것을 제외하고는 아무 것도받을 수 없게됩니다.

예 :

public void put(Student student){...} 

public void putAll(Student... students){...} 
+0

내 교수님의 이상한 요청입니다. 나는 그것을 그렇게 구현할 것이다. 큰 도움, greedybuddha! – Nicholas

관련 문제