java实现树形结构,可以把String[] a = {"1", "1-3-4", "1-2", "1-2"}这个数组,转变成如图的树json么? 20

 我来答
火户子zz
2016-12-27 · 超过21用户采纳过TA的回答
知道答主
回答量:64
采纳率:0%
帮助的人:29万
展开全部
//先定义一个类,方便转换
public class Menu {
 
    private Long id;
    private List child = new ArrayList<>();
     
    public Menu(Long id) {
        this.id = id;
    }
}
public class String2JsonTest {
 
     
    public static void main(String[] args) {
        String[] a = {"1", "1-3-2", "1-2", "1-2"};
        List list2 = new ArrayList<>();
         
        for (int i = 0; i < a.length; i++) {
            String[] b = a[i].split("-"); 
            List tempList = list2;
            Menu tempMenu = null;
            for (int j = 0; j < b.length; j++) {
                tempMenu = new Menu(Long.valueOf(b[j]));
                Menu exist = isExist(tempMenu,tempList);
                if(exist==null){
                    tempList.add(tempMenu);
                    tempList = tempMenu.getChild();
                }else{
                    tempList = exist.getChild();
                }
            }
             
        }
        String jsonArray2 = JSONArray.toJSONString(list2);
        System.out.println(jsonArray2);
    }
    private static Menu isExist(Menu menu,List<Menu> list){
        for (Menu obj : list) {
            if(menu.getId().equals(obj.getId())){
                return obj;
            }
             
        }
        return null;
    }
}
儒雅的下雨难过
2016-12-23 · 超过38用户采纳过TA的回答
知道小有建树答主
回答量:66
采纳率:0%
帮助的人:35.8万
展开全部
自己写工具类,又不难,很简单的一个算法。。
追问
可以麻烦帮我写一下么?谢谢了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式