public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("/");
list.add("/java");
list.add("/java/source/ArrayList");
list.add("/javascript");
Iterator<String> iterator = list.iterator();
Path root = toTree(iterator);
System.out.println(JSON.toJSONString(root.getChildren(), SerializerFeature.PrettyFormat));
}
static Path toTree(Iterator<String> iterator) {
Path root = new Path("", new ArrayList<>(), new HashMap<>());
while (iterator.hasNext()) {
String next = iterator.next();
String[] arr = next.split("/");
Path parent = root;
Map<String, Path> map = parent.getChildrenMap();
for (int i = 1, len = arr.length; i < len; i++) {
String p = arr[i];
Path path = map.get(p);
if (path != null) {
parent = path;
continue;
}
path = new Path(p, new ArrayList<>(), new HashMap<>());
parent.getChildren().add(path);
parent.getChildrenMap().put(p, path);
parent = path;
}
}
return root;
}
@Data
@NoArgsConstructor
@AllArgsConstructor
static class Path {
private String name;
private List<Path> children;
@JsonIgnore
private Map<String, Path> childrenMap;
}
構(gòu)建Tree工具類
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
- 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來袍冷,“玉大人磷醋,你說我怎么就攤上這事『” “怎么了邓线?”我有些...
- 文/不壞的土叔 我叫張陵,是天一觀的道長煌恢。 經(jīng)常有香客問我骇陈,道長,這世上最難降的妖魔是什么瑰抵? 我笑而不...
- 正文 為了忘掉前任你雌,我火速辦了婚禮,結(jié)果婚禮上二汛,老公的妹妹穿的比我還像新娘婿崭。我一直安慰自己,他們只是感情好肴颊,可當(dāng)我...
- 文/花漫 我一把揭開白布氓栈。 她就那樣靜靜地躺著,像睡著了一般婿着。 火紅的嫁衣襯著肌膚如雪颤绕。 梳的紋絲不亂的頭發(fā)上幸海,一...
- 文/蒼蘭香墨 我猛地睜開眼帚称,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了秽澳?” 一聲冷哼從身側(cè)響起闯睹,我...
- 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎担神,沒想到半個(gè)月后楼吃,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
- 正文 獨(dú)居荒郊野嶺守林人離奇死亡妄讯,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
- 正文 我和宋清朗相戀三年孩锡,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片亥贸。...
- 正文 年R本政府宣布朴摊,位于F島的核電站默垄,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏仍劈。R本人自食惡果不足惜厕倍,卻給世界環(huán)境...
- 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望贩疙。 院中可真熱鬧讹弯,春花似錦、人聲如沸这溅。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽悲靴。三九已至臭胜,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背耸三。 一陣腳步聲響...
- 正文 我出身青樓憨颠,卻偏偏與公主長得像,于是被迫代替她去往敵國和親积锅。 傳聞我的和親對(duì)象是個(gè)殘疾皇子爽彤,可洞房花燭夜當(dāng)晚...
推薦閱讀更多精彩內(nèi)容
- 前端自動(dòng)化構(gòu)建工具 webpack 是一個(gè)打包模塊化的js的工具,在webpack里一切文件都是模塊缚陷,通過load...
- 在之前的學(xué)習(xí)中,我寫過一篇關(guān)于字符串格式化的,就主要設(shè)計(jì)到了時(shí)間以及日期的各種格式化顯示的設(shè)置,其主要時(shí)通過Str...
- 緣起 最近公司內(nèi)部想搭建一個(gè)私有的 npm 倉庫适篙,用于將平時(shí)用到次數(shù)相當(dāng)頻繁的工具或者組件獨(dú)立出來,方便單獨(dú)管理箫爷,...
- 一嚷节、背景 最近的開發(fā)工作用到“樹”模型比較多,例如節(jié)點(diǎn)樹蝶缀、權(quán)限樹等丹喻。每一個(gè)實(shí)體都有自己特殊的字段,所以最初的解決方...
- 表情是什么翁都,我認(rèn)為表情就是表現(xiàn)出來的情緒碍论。表情可以傳達(dá)很多信息。高興了當(dāng)然就笑了柄慰,難過就哭了鳍悠。兩者是相互影響密不可...