Создание дерева с помощью HashMap
Пример программы на Java

24.05.2013

import java.util.HashMap;
import java.util.Map;
import java.util.Vector;
import javax.swing.*;
import javax.swing.JTree;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeModel;

public class MapVector {
static Vector v = new Vector();
static Map<String, Vector> map = new HashMap<String, Vector>();
static DefaultTreeModel tm;
public static void main(String[] args) {
v = new Vector();
v.add("b");
v.add("c");
map.put("a",v);
//--добавление детских узлов к "a"
v = new Vector();
v.add("b1");
v.add("b2");
map.put("b",v);
//-добавление детских узлов к "b"
v = new Vector();
v.add("c1");
v.add("c2");
v.add("c3");
map.put("c",v);
//---добавление детских узлов к "c"

JTree tree;

DefaultMutableTreeNode root = new DefaultMutableTreeNode("a");
tm = new DefaultTreeModel(root);
v=map.get("a");

for(int l=0;l<v.size();l++){

DefaultMutableTreeNode node0 = new DefaultMutableTreeNode(v.get(l));
root.add(node0);
tree =new JTree(addNode(tm,v.get(l).toString(),node0));
}

tree =new JTree(tm);
JFrame jf=new JFrame();
JPanel jp=new JPanel();
jf.setSize(333,333);
jf.getContentPane().add(tree);
jf.setVisible(true);
jf.setDefaultCloseOperation(jf.EXIT_ON_CLOSE);

}
static DefaultTreeModel addNode(DefaultTreeModel tm,String nodename,DefaultMutableTreeNode node){

DefaultMutableTreeNode nodein;
for(int i=0;i<map.get(nodename).size();i++){
System.out.println(map.get(nodename).get(i));
DefaultMutableTreeNode node0 = new DefaultMutableTreeNode(map.get(nodename).get(i));
node.add(node0);
}
return tm;
}
}

Постоянный адрес статьи в Интернет: http://www.ispl.ru/Sozdanie_dereva_s_pomoshchu_HashMap.html

Ключевые слова: java, пример, программа, hashmap, дерево, создание дерева
Примеры программ на Java
Главная
(C) Е.Крылов