java - Converting a List of pojo Class to a Jdom Tree? -


मेरे पास एक POJO class call LEVEL & amp; उसका वर्ग आरेख इस प्रकार है:

  0,1 ------------ | | | | | \ | / | स्तर- & lt; & gt; -------  

दूसरे शब्दों में:

  सार्वजनिक वर्ग स्तर {निजी इंट आईडी; निजी इंट लेबल; निजी सेट & lt; स्तर & gt; लेबल; निजी स्तर के माता पिता; ...}  

मेरे पास एक ऐसा तरीका है जो डेटाबेस से एक सूची & lt; स्तर & gt; में सभी स्तर को प्राप्त करता है।

मैं चाहता हूं जेड प्रतिनिधित्व के लिए (जैसे org.jdom एपीआई का प्रयोग करें) एक वृक्ष (जैसे आपकी निर्देशिका के लिए एक पेड़)

  LEVEl 1 +++ LEVEL 2 +++ +++ LEVEL 3 LEVEL 4 LEVEL 5  

मुझे पता है कि एल्गोरिथम को पुनरावर्ती होना है।

क्या आपके पास कोई समाधान है? जावा क्लास को एक जेड ट्री में कनवर्ट करने का कोई भी टूल?

मुझे कोई भी पुस्तकालय नहीं पता ठीक उसी तरह करें जो आप के लिए पूछें।


आपका वर्ग स्तर सही है, लेकिन एकमात्र विकल्प नहीं है। आप एक संपत्ति जोड़ सकते हैं सेट & lt; स्तर & gt; बच्चों । आप माता पिता लिंक को रख सकते हैं या नहीं (द्वि-दिशात्मक संबंध, या कई-से-एक)।

यह आपके पेड़ संरचना को अधिक प्राकृतिक बना सकता है ...


उदाहरण के लिए, यदि आप हाइबरनेट की तरह एक ORM का प्रयोग कर रहे थे, तो आप केवल हाइबरनेट से प्राप्त सूची में पहला स्तर का उदाहरण पा सकते हैं, और आप पहले से ही पेड़, बस अन्य उदाहरणों की उपेक्षा करें।


अन्यथा, एक एल्गोरिथम समाधान हो सकता है:

  1. एक unprocessed सूची में आपके सभी उदाहरण हैं
  2. अप्रतिबंधित सभी उदाहरणों को ढूंढें, जिनके पास माता-पिता नहीं हैं; उन्हें अपने पेड़ में जोड़ दें, उन्हें अप्रसारित से हटा दें।
  3. निम्न पर लूप:
    • अप्रतिबंधित के सभी उदाहरण ढूंढें, जिनके पास पेड़ में उनके माता-पिता हैं (यदि पेड़ नहीं करता है
    • उन्हें अपने पेड़ में जोड़ें, उन्हें अप्रसारित से हटा दें।

Comments

Popular posts from this blog

objective c - iPhone and it's wireless area -

unix - Listing all shared memory segments used by a process on AIX5.3+ -

tsql - Correct sql/hql query (aggregate in where clause) -