java简单的无限极分类

【java简单的无限极分类】这是一个比较简单的无限极分类,适用于各种编程语言。
这个原理是 一次性把数据库所有分类读取出来之后再根据pid来排序。
比较简单,好理解。

public static List cates; private static List tmpCates = new ArrayList(); public static void main(String[] args) {init(); List cList = tree( cates , 0 , 0 ); for (Category c:cList) { StringBuffer sb = new StringBuffer(); for (int i = 0; i < c.getLevel(); i++){ sb.append("--"); } System.out.println( sb.toString() + c.getName() ); }}public static List tree( List cs , Integer pid , Integer level ){for (Category c: cs) { if( c.getParent_id() == pid ){ c.setLevel( level ); tmpCates.add(c); tree( cs , c.getId() , level+1 ); } } return tmpCates; }public static void init(){ cates = new ArrayList(); Category c1 = new Category(); c1.setId(1); c1.setName("广东"); c1.setParent_id(0); cates.add(c1); c1 = new Category(); c1.setId(2); c1.setName("陕西"); c1.setParent_id(0); cates.add(c1); c1 = new Category(); c1.setId(3); c1.setName("四川"); c1.setParent_id(0); cates.add(c1); c1 = new Category(); c1.setId(5); c1.setName("深圳"); c1.setParent_id(1); cates.add(c1); c1 = new Category(); c1.setId(6); c1.setName("陕西"); c1.setParent_id(2); cates.add(c1); c1 = new Category(); c1.setId(8); c1.setName("成都"); c1.setParent_id(3); cates.add(c1); c1 = new Category(); c1.setId(9); c1.setName("宝鸡"); c1.setParent_id(2); cates.add(c1); }

这个主要的方法就是tree()函数
转载于:https://blog.51cto.com/boysmusic/2046724

    推荐阅读