أولاً ، دعونا نلقي نظرة على أمثلة الكود لهييئين لقائمة الأشجار.
singletreenode:
package com.zzj.tree ؛ public class singletreenode {private int id ؛ private int pid ؛ name private string ؛ public singletreenode () {} public singletreenode (int id ، int pid ، string name) {this.id = id ؛ this.pid = pid ؛ int getPid () {return pid ؛} public void setPid (int pid) {this.pid = pid ؛} السلسلة العامة getName () {return name ؛ "]" ؛}}هذا الهيكل مناسب جدًا للتخزين في قواعد البيانات العلائقية.
multitreenode:
package com.zzj.tree ؛ import java.util.list ؛ public class multitreenode {private int id ؛ اسم السلسلة الخاصة ؛ القائمة الخاصة <multitreenode> الأطفال ؛ multitreenode public () {} multitreenode public (int int ، int ide) {this.id = id ؛ this.name = name ؛ معرف ؛ this.name = name ؛ this.children = knids ؛} public int getId () {{معرف الإرجاع ؛} public void setId (int id) {this.id = id ؛} السلسلة العامة getName () {return name ؛ setChildren (قائمة <NidseReenode> multitreenode) {this.children = children ؛}@تجاوز السلسلة العامة toString () {return "multitreenode [id =" + id + "، name =" + name + "محولان
tomultitreetransformer:
package com.zzj.tree ؛ import java.util.arraylist ؛ import java.util.list ؛ public class tomultitreetransformer {private list <SingletReenode> singletreenodes ؛ private list <listreenodes> multitreenodes = new ArrayList <> {this.singletreenodes = singletreenodes ؛} القائمة العامة <multitreenode> transform () {// أولاً ابحث عن جميع العقد الجذرية لـ (int i = 0 ؛ i <singletreenodes.size () ؛ i ++) {singletreenode singletreenodes.get (i) ؛ j ++) {singletreenode temp = singletreenodes.get (j) ؛ if (singletreenode.getPid () == temp.getId ()) {iSroot = false ؛ break ؛}} if (iSroot) {multitreenode multitreenode = new multitreenode (singletreenode.getid () singletreenode.getName ()) ؛ multitreenodes.add (multitreenode) ؛}} // تعيين عقدة الطفل (int i = 0 ؛ i <multitreenodes.size () ؛ i ++) قم بتعيين Node * param multitreenode */private void setChildren (multitreenode multitereenode) {for (int j = 0 ؛ j <singletreenodes.size () ؛ j ++) {singletreenode temp = singletreenodes.get (j) ؛ if (temp.getPid () == multitreenode.getId ()) {multitreenode child = new multitreenode (temp.getId () ، temp.getName ()) ؛ قائمة <MultItReenode> الأطفال = multitreenode.getchildren () ArrayList <> () ؛ multitreenode.Setchildren (child) ؛} children.add (child) ؛ setchildren (child) ؛}}}}}}TOSESTELETRENTRANSFORMER:
package com.zzj.tree ؛ import java.util.arraylist ؛ import java.util.list ؛ public class tosesletreetransformer {private list <1 multitreenode> multitereenodes ؛ private list <SingletReenodes> multitreenodes = new ArrayList <> {this.multitreenodes = multiTreenodes ؛} القائمة العامة <SingletReenode> transform () {// الحصول على عقدة الجذر لـ (int i = 0 ؛ i <multiTreenodes.size () ؛ i ++) {multitreenode multitreenode = multitreenodes.get (i) ؛ singletreenode singletreenode = new SingletReenode (multitreenode.getId () ، 0 ، multitreenode.getName ()) ؛ singletreenodes.add (singletreenode) ؛} // احصل على عقدة الطفل لـ (int i = 0 ؛ i <multitreenodes.size () ؛ i ++) {multitreenode multitreenode = multitreenodes.get (i) ؛ getChildren (multitreenode) ؛ */private void getChildren (multiTreenode multitereNode) {for (int i = 0 ؛ i <singletreenodes.size () ؛ i ++) {singletreenode temp = singletreenodes.get (i) ؛ if (multitreenode.getId () == temp.getId ()) {list <MultItReenode> child = multitreenode.getChildren () ؛ if (children! = null) {for (int j = 0 ؛ j <Kids.size () ؛ j ++) multitreenode.getid () ، child.getName ()) ؛ singletreenodes.add (singletreenode) ؛ getChildren (Child) ؛}}}}}}}}امتحان
package com.zzj.tree ؛ import java.util.arraylist ؛ import java.util.list ؛ public class treetransformertest {private final static rip = New SingletReenode (2 ، 1 ، "Hunan") ؛ Single_tree.add (Hunan) ؛ SingletReenode Changsha = New Singletreenode (3 ، 2 ، "Changsha") ؛ Single_tree.add (Changsha) ؛ Singletreenod Hubei = New Singletreenode (4 ، 1 ، "Hubei") ؛ wuhan = new singletreenode (5 ، 4 ، "Wuhan") ؛ single_tree.add (wuhan) ؛ singletreenode America = New Singletreenode (6 ، 0 ، "الولايات المتحدة") New Singletreenode (8 ، 7 ، "Los Angeles") ؛ single_tree.add (losangeles) ؛} يبرز الفراغ الثابت العام (سلسلة [] args) استثناء {tomultErantRansformer multitreetRansformer = newultiTreetRansformer multitreetransformer.transform () ؛ system.out.println (multitreenodes) ؛ tosesletreetransformer singletreetransformer = new tosesletreetransformer (multitreenodes) ؛ ripنتيجة الإخراج:
[multitreenode [id = 1 ، name = China ، الأطفال = [multiTreenode [id = 2 ، name = hunan ، childrend = [multitreenode [id = 3 ، name = Changsha ، children = null]]]]] ، multitreenode [id = 4 ، name = hube ، childrende = [id = 5 ، name = wuhan ،] name = usa ، children = [multitreenode [id = 7 ، name = california ، childrend = [multitreenode [id = 8 ، name = los Angeles ، children = null]]]]]] [id = 3 ، pid = 2 ، name = changsha] ، singletreenode [id = 4 ، pid = 1 ، name = hubei] ، singletreenode [id = 5 ، pid = 4 ، name = wuhan] ، singletreenode [id = 7 ، pid = 6 ، name = california] ، singletreenode [id = 8 ، pid =
لخص
ما ورد أعلاه هو المحتوى الكامل لهذه المقالة حول رمز التحويل لهييئين لقائمة الأشجار لبرمجة Java. آمل أن يكون ذلك مفيدًا للجميع. يمكن للأصدقاء المهتمين الاستمرار في الرجوع إلى هذا الموقع:
تطبيق Java لإنشاء مثال رمز كامل لرأس شجرة Excel
تصف لغة جافا عمق وعرض شجرة ثنائية
مثال رمز كامل لخوارزمية Java لتنفيذ شجرة حمراء وسوداء
إذا كانت هناك أي أوجه قصور ، فيرجى ترك رسالة لإشارةها!