String name;
변수를 사용하려면 equals
및 hashCode
을 재정의 한 Java Set<MyClass>
이 있습니다.하나의 클래스에서 집합을 사용하지만 문자열로 찾으십시오.
public class MyClass{
final String name;
public boolean equals(Object o){...}
public int hashCode(){return name.hashCode();}
}
내가
MyClass o = set.get("nameofmyobject");
자바에서이 작업을 수행 할 수있는 방법이나 자료 구조가 있습니까
같은 것을 사용하여 HashSet의에서 나의 객체를 얻을 수 어쨌든 있나요? 또는지도 세트를 모두 변경해야합니까?
리스트는'O (n)'액세스를 제공합니다. 세트를 반복하면됩니다. – tom
나는 그 질문에 대한 링크를 좋아한다. 나는 그것을 보지 못했다. 비록 그 질문조차도 실제로 왜 설명하지 않습니다 : ( –
당신이 Object를 가지고있는 Set을 찾으면, 당신은 Object를 이미 가지고있을 것입니다. 그렇지 않으면 당신은 그것을 찾을 수 없을 것입니다. 그래서 동일성 검사 후에 Object로 작업하지 마십시오. ? –