1. 程式人生 > >Java菜鳥 vs Java大神

Java菜鳥 vs Java大神

功能:

表述1:從輸入中找出parent相同的name,輸出為output格式

表述2:從輸入中,尋找連結串列關係。parent-->name。

input

List<Industry> all = new ArrayList<>();
		all.add(new Industry("a", null, Level.one));
		all.add(new Industry("b", null, Level.one));
		all.add(new Industry("1", "a", Level.two));
		all.add(new Industry("2", "a", Level.two));
		all.add(new Industry("3", "a", Level.two));
		all.add(new Industry("4", "b", Level.two));
		all.add(new Industry("5", "b", Level.two));
		all.add(new Industry("6", "b", Level.two));

output

{a=[1, 2, 3], b=[4, 5, 6]}

菜鳥:

public static Map<String, List<String>> hello() {
		List<Industry> all = new ArrayList<>();
		all.add(new Industry("a", null, Level.one));
		all.add(new Industry("b", null, Level.one));
		all.add(new Industry("1", "a", Level.two));
		all.add(new Industry("2", "a", Level.two));
		all.add(new Industry("3", "a", Level.two));
		all.add(new Industry("4", "b", Level.two));
		all.add(new Industry("5", "b", Level.two));
		all.add(new Industry("6", "b", Level.two));
		
		List<Industry> list = new ArrayList<>();
		for(Industry industry : all)
			if(industry.getParent() != null)
				list.add(industry);
		if(list.isEmpty())
			return null;
		Map<String, List<String>> mm = new HashMap<>();
		for(Industry industry : list) {
			Set<String> ls = new HashSet<>();
			for(Industry industrys : list) 
				if(industry.getParent().equals(industrys.getParent())) {
					ls.add(industrys.getName());
					ls.add(industry.getName());
				}
			
			mm.put(industry.getParent(),new ArrayList<>(ls));
		}
		System.out.println(mm);
		return mm;
	}

大神:

public static Map<String, List<String>> hello0() {
		List<Industry> all = new ArrayList<>();
		all.add(new Industry("a", null, Level.one));
		all.add(new Industry("b", null, Level.one));
		all.add(new Industry("1", "a", Level.two));
		all.add(new Industry("2", "a", Level.two));
		all.add(new Industry("3", "a", Level.two));
		all.add(new Industry("4", "b", Level.two));
		all.add(new Industry("5", "b", Level.two));
		all.add(new Industry("6", "b", Level.two));

		Map<String, List<String>> map = new HashMap<>();
		for (Industry i : all) {
			if (!StringUtils.isEmpty(i.getParent())) {
				List<String> temp = map.get(i.getParent());
				if (temp == null) {
					temp = new ArrayList<>();
					temp.add(i.getName());
					map.put(i.getParent(), temp);
				} else {
					temp.add(i.getName());
				}
			}

		}
		System.out.println(map);
		return map;
	}

相關推薦

Java vs Java

功能: 表述1:從輸入中找出parent相同的name,輸出為output格式 表述2:從輸入中,尋找連結串列關係。parent-->name。 input List<Industry> all = new ArrayList<>();

java---------用java寫的漢諾塔問題程式

漢諾塔是遞迴裡最經典的題。 漢諾塔問題:大梵天創造世界的時候做了三根金剛石柱子,在一根柱子上從下往上按照大小順序摞著64片黃金圓盤。大梵天命令婆羅門把圓盤從下面開始按大小順序重新擺放在另一根柱子上。並且規定,在小圓盤上不能放大圓盤,在三根柱子之間一次只能移動一個圓盤。 這個

【mysql 修煉之路】如何從成為mysql

首先MySQL大多是跑在Linux環境上的,所以我們需要學習一下Linux的知識,最基礎的需要了解: ■ Linux的安裝及目錄結構意義 ■ 常用的Linux命令,大概20多個 ■ 網路基本知識,

這是一套Java牛的學習路線之高級教程,由工作了10年的資深Java架構師整理。

script gin 視頻 提速 entos 分布式存 內幕 服務 www 這是一套Java菜鳥到大牛的學習路線之高級教程,由工作了10年的資深Java架構師整理。 01-java高級架構師設計-基礎深入 J

《Hadoop權威指南資料的儲存與分析第版修訂版升級版》pdf附網盤下載連結+(附一個java學習之路)

技術書閱讀方法論 一.速讀一遍(最好在1~2天內完成) 人的大腦記憶力有限,在一天內快速看完一本書會在大腦裡留下深刻印象,對於之後複習以及總結都會有特別好的作用。 對於每一章的知識,先閱讀標題,弄懂大概講的是什麼主題,再去快速看一遍,不懂也沒有關係,但是一定要在不懂的

【備忘】Java牛學習路線培訓教程

這是一套Java菜鳥到大牛學習路線培訓教程,由本站工作了10年的資深Java架構師整理。主要分5個階段:Java程式設計師->Java初級軟體工程師->Java中級軟體工程師->Java高階軟體工程師->Java系統架構師,從頭學到尾即可成為大神!

Java牛學習路線之實戰篇

1初級篇        J2SE的Socket網路程式設計應用        J2SE的反射機制高階應用        J2SE高深講解        JAVA程式設計思想 初級教程[MP4]        JAVA程式設計思想 高階教程[MP4]        JAVA程

【備忘】Java牛學習路線之高階篇

01-java高階架構師設計-基礎深入        J2SE深入講解        Java多執行緒與併發庫高階應用視訊教程下載        java反射機制        java設計模式視訊        資料結構視訊教程        Eclipse視訊教程.zip        MyEclipse

【備忘】Java牛學習路線之實戰篇

這是一套Java菜鳥到大牛的學習路線之實戰教程,由本站工作了10年的資深Java架構師整理。     1初級篇         J2SE的Socket網路程式設計應用         J2SE的反射機制高階應用         J2SE高深講解         JAVA程式

java之微信分享

簡單 .net 小寫 logging cgi acc creat -type 以及 前言:我終於理解了什麽叫做教科書:教科書就是把一些簡單容易的知識寫成一堆誰都看不懂的書,這,就簡稱“教科書” 這些天接觸到微信分享以及回調的問題,因為之前沒接觸過,所以這次做這個分享,碰了一

編程java的第一天

大學 都是 階段 我不 什麽 出現 菜鳥 JD 技術 今天第一次上Java的課程,老師我們信息學院的鄧酩老師。對老師的第一印象是看上去老師好有才華的老師。畢竟是教Java的。第一節課也沒講些什麽,所以也沒說些什麽吧。下面講下我對以前編程的想法和見解~ 我是一名桂林理工大學信

Java教程———學習筆記

class this 關鍵字 多繼承 之間 字母 ext javac 多個 編譯錯誤 (1)Java中的繼承有兩種:extends 和 implements extends 類的繼承是單一繼承,也就是說,一個子類只能擁有一個父類,所以 extends 只能繼承一個類。 使用

Java學習總結】Java基礎知識(類)

個數 修飾符 trac 空間 釋放 set 大小 成員方法 的區別 目錄 【Java菜鳥學習總結】Java基礎知識(類) 1、面向對象編程 2、類 3、static關鍵字 4、final關鍵字 【Java菜鳥學習總結】Java基礎知識(類) 1、面向對象編程 1.1

Java——Java記憶體分析

我們常說的Java記憶體主要分為四大塊(暫存器不在考慮之內,我們無法用程式碼來操控它):stack(棧)、heap(堆)、data segment(資料區)、code segment(程式碼區)。它們的主要用途如下圖所示:     &nb

Java——你知道long和Long有什麼區別嗎?

Java中資料型別分兩種: 1.基本型別:long,int,byte,float,double 2.物件型別:Long,Integer,Byte,Float,Double其它一切java提供的,或者你自己建立的類。 其中Long叫 long的包裝類。Integer、Byte和Float也類似

一年java的面試之路

華為社招(三面+機試+性格測試) 1.介紹專案 2.說一說git分支的概念 3.arraylist和linklist的區別 4.資料庫鎖和隔離級別,你專案中怎麼加的鎖,分散式鎖瞭解過嗎 5.jvm瞭解過嗎,說一說有什麼 6.執行緒的幾種狀態,多執行緒的排程 拖了很久,沒有

JAVA學習總結:Lucene的搜尋

小號 ** 搜尋Lucene的學習: ** 搜尋按功能分為:垂直搜尋(細分搜尋),綜合搜尋,還此外包括站網站內搜尋軟體狀語從句:搜尋內部搜尋的關鍵字:索引搜尋引擎的英文通過網路爬蟲從網際網路電子雜誌|網頁放在臨時庫中,然後通過過濾篩選出符合規則並且索

《TCP IP詳解卷:協議 原書第2版》pdf附網盤下載連結+(附一個java學習之路)

技術書閱讀方法論 一.速讀一遍(最好在1~2天內完成) 人的大腦記憶力有限,在一天內快速看完一本書會在大腦裡留下深刻印象,對於之後複習以及總結都會有特別好的作用。 對於每一章的知識,先閱讀標題,弄懂大概講的是什麼主題,再去快速看一遍,不懂也沒有關係,但是一定要在不懂的

《演算法導論中文版》pdf附網盤下載連結+(附一個java學習之路)

技術書閱讀方法論 一.速讀一遍(最好在1~2天內完成) 人的大腦記憶力有限,在一天內快速看完一本書會在大腦裡留下深刻印象,對於之後複習以及總結都會有特別好的作用。 對於每一章的知識,先閱讀標題,弄懂大概講的是什麼主題,再去快速看一遍,不懂也沒有關係,但是一定要在不懂的

《Netty權威指南(第2版)》pdf附網盤下載連結+(附一個java學習之路)

技術書閱讀方法論 一.速讀一遍(最好在1~2天內完成) 人的大腦記憶力有限,在一天內快速看完一本書會在大腦裡留下深刻印象,對於之後複習以及總結都會有特別好的作用。 對於每一章的知識,先閱讀標題,弄懂大概講的是什麼主題,再去快速看一遍,不懂也沒有關係,但是一定要在不懂的