내 J2ME 응용 프로그램에서 트리 구조를 만드는 방법이 만족스럽지 않습니다. 누구든지 더 효과적인 방향을 지적 할 수 있습니까? 내 스 니펫을 이해하기 위해 더 많은 코드가 필요한 경우 아래에 의견을 남기십시오. Java 버전은 1.4입니다.효율적인 트리 정렬
많은 감사,
는
if(companyList != null) {
companyList.setNodeStructure(null);
Hashtable nodes = new Hashtable();
for(Enumeration e = companyList.elements(); e.hasMoreElements();) {
Company temp_comp = (Company)e.nextElement();
if(temp_comp.getParentCompanyId() == 0 && temp_comp.getCompanyId() > 0) {
getSubTree(temp_comp.getCompanyId(), companyList, nodes);
}
}
companyList.setNodeStructure(nodes);
방법
private void getSubTree(int CompanyId, CompanyList _companyList, Hashtable nodes) {
Vector children = getChildren(CompanyId, _companyList);
if(children.size() > 0) {
nodes.put(new Integer(CompanyId), children);
for(Enumeration e = children.elements(); e.hasMoreElements();) {
Company temp_comp = (Company)e.nextElement();
getSubTree(temp_comp.getCompanyId(), _companyList, nodes);
}
}
}
private Vector getChildren(int CompanyId, CompanyList _companyList) {
Vector temp = new Vector();
for(Enumeration e = _companyList.elements(); e.hasMoreElements();) {
Company temp_comp = (Company)e.nextElement();
if(temp_comp.getParentCompanyId() == CompanyId) {
temp.addElement(temp_comp);
}
}
temp.trimToSize();
return temp;
}
그냥 * 왜 * 당신은 해시 테이블을 사용할 수 있으며 벡터는 도움이 될 것입니다. J2ME의 한계 때문에 또는 스레드 안전 구조가 필요하기 때문입니까? – jprete
... 또는 숙제이기 때문에. –
나는 자바 세계에서 아주 새로운데, 내 목표를 달성하기 위해 J2ME에서 다른 유용한 데이터 유형을 찾지 못했다. 너? 질문 제목을 바꿀거야. –