私のJ2MEアプリケーションにツリー構造を構築する方法は本当に満足していません。 誰かがより演技的な方向を指すことができますか?スニペットを理解するためにさらにコードが必要な場合は、下にコメントしてください。 Javaのバージョンは1.4です。効率的なツリーのソート
多くのおかげで、
rAyt
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;
}
に少し推敲だけ*なぜあなただけのHashtableを使用することができますし、ベクターは役立つだろう*。それはJ2MEの制限のためか、スレッドセーフな構造が必要なためですか? – jprete
...宿題なので...。 –
私はJavaの世界ではかなり新しいですし、私の目標を達成するために他の使用可能なデータ型をJ2MEで見つけられませんでした。あなたは?私は質問のタイトルを変更するつもりです。 –