CodeGym /Java Blog /Toto sisi /舊級別 08
John Squirrels
等級 41
San Francisco

舊級別 08

在 Toto sisi 群組發布

全球勞動力市場

舊級別 08 - 1如果你住在一個小的、貧窮的或發展中國家,你可能會在某個時候遇到當地勞動力市場的局限性。

當地勞動力市場的局限性

1 工資低

即使您是一名高素質的專家,也可能根本沒有雇主能夠支付您在當地勞動力市場上應得的薪水。例如:教師、科學家。

2 不必要的大學學位

大學培養的律師和經濟學家的數量超過勞動力市場需求的十倍。這些專家中有 90% 無法從事專業工作。這通常是教育質量低下的結果。

3 對你的專業沒有要求

你可能是一位出色的科學家,但國家不再資助基礎研究。在勞工登記處,您被建議重新獲得資格。在這種情況下這樣做是非常不明智的,因為有些國家需要你的知識和技能。當一位世界知名的科學家離開他家鄉的教堂並安頓下來在紐約洗碗時——這是一場悲劇。當一位世界知名的科學家在他自己的國家洗碗而不是在紐約擔任大教堂的負責人時——這是一個更大的悲劇。

4 很少的職業機會

您是一名證券交易所經紀人,您希望晉升為金融信貸基金的專注專家。您希望將來成為自己的投資基金會的負責人。在您的國家可能不需要像您這樣的專家。

5 小型勞動力市場

在您所在的國家/地區,可能只有兩家公司對像您這樣的專家感興趣。如果您為其中之一工作,您可能會被禁止與他們的競爭對手合作。你簡單無處可去。全球化進程和電信技術的發展和廉價化導致了全球勞動力市場的出現。全球市場由願意(並且能夠)僱用國外雇主的公司組成。它還包括願意(並且能夠)在外國公司工作的雇主。

全球勞動力市場優勢

1 工資低於發達國家,但高於發展中國家

如果您來自發展中國家,並且您是全球勞動力市場需求的專家,那麼您的薪水在全球市場和本地市場上可能相差 5-10 倍。更重要的是,你可以把錢花在你的國家,投入到它的經濟中。

2 經驗。卓越的業務流程

你的工作為你提供了三樣最重要的東西:經驗、金錢和人脈。如果您習慣於只拿錢 –那是您的問題。如果你為世界領先的公司工作,你可以獲得最寶貴的經驗。他們歡迎全球化趨勢,所以在那裡找到一份工作比你想像的要容易。當您是一家公司的員工時,您就有機會看到所有有效和無效的內部業務流程。您需要做的就是觀看和聆聽。

3 巨大的職業機會

在一家大型國際公司工作將幫助您專業成長並開創事業。你可能會在世界各地建立良好的關係,這非常有用:獲得高素質專家的聲譽,一些國際公司可能會為你提供繼續為他們工作的職業生涯。一個有才能的人,需要的只是一個機會;他會自己想出如何使用它。

4 出差

你經常會被邀請去國外出差。特別是如果您工作的公司在國外有幾個分支機構。不要忽視這些機會:這是旅行的好機會,也是獲得新知識和技能、與人交談的好機會。請記住,您的視野越廣,您獲得的好處就越多。

5 一個搬到你喜歡的國家的機會

舊級別 08 - 2經常發生的情況是,當您以高素質專家的身份出名時,您會收到一份搬到(工作)雇主辦公室的工作邀請。很方便。到那時,您可能已經出差到過那裡,並且很清楚自己要去哪裡。你在那裡已經有朋友和熟人了。你會找到一份好工作和現在你很好的同事。這些可能是我所知道的最好的移民條件。

全球勞動力市場的需求

1 你的職業必須符合他們

並非所有職業都能滿足全球市場的需求。但是很多人都這樣做。而且這個名單不斷增長。我可以長時間地命名它們:支持、開發、研究、設計,幾乎所有與網絡和計算機有關的東西。如果你的專業是20-30年前才出現的,那麼它極有可能很容易全球化。

2 價格和質量

當一家外國公司看到它可以在貴國以更低的價格聘請到質量更高的專家時,就很難抗拒。您需要“更好更便宜”或“更便宜”。僅僅“便宜”並不能滿足外國公司的要求,因為它冒著很大的風險在國外聘請專家。

3 英語

在 21 世紀,英語是一種國際語言。如果你想在全球市場工作並享受它的所有好處,但英語不是你的母語——學習它。你的英語水平越低,其他兩個優勢應該越強。

你已經達到了一個新的水平

8級

舊級別 08 - 3

1 Elly,收藏說明

舊級別 08 - 4- 嘿,阿米戈。今天我想跟大家說說收藏。在 Java 中,主要目的是存儲一組其他元素的類稱為集合/容器。您已經知道的此類類的示例是 ArrayList。- 在 Java 中,集合分為三個主要組:Set、List 和 Map。 - 那麼它們之間有什麼區別? - 我將從 Set 開始。想像一下一堆鞋子。這是一套。在集合中,您可以添加、查找或刪除元素。但是那裡的元素沒有嚴格的順序! - 解釋太簡短了…… -現在想像一下同一堆鞋子,這次是沿著牆排成一排。現在有訂單了。每個元素都有它的編號。例如,您可以通過編號找到“7 號對”。這是一個列表您可以在列表的開頭或中間添加元素,或將其刪除,為此您只需要它的編號即可。 - 明白了。地圖呢? - 想像一下同樣的鞋子,但現在每雙鞋上都有一個標籤,例如 «Nick»、«Joe» 或 «Ann»。這是一個地圖,它通常被稱為“字典”。每個元素都有其唯一的名稱,您可以通過該名稱訪問它。元素的唯一名稱也稱為鍵。Map 是一組鍵值對。密鑰不一定是字符串。它可以是任何類型。Map 鍵類型是Integer,實際上是List(有一些差異)。 - 很清楚,但我想看更多的例子。 - Risha 會給你舉個例子,我想再補充幾句。- 所有的集合和容器在剛創建時什麼都不存儲。但是您可以在之後向它們添加元素。它們會動態改變它們的大小。 - 哦,現在很有趣。你怎麼知道集合中有多少元素? - 為此,有方法size()。這些系列擁有您需要的一切。我想在幾節課中你就會親眼看到這些集合是多麼的方便。 - 但願如此。

1 Risha,所有集合和界面的列表

舊級別 08 - 5 - 嘿,阿米戈。 - 你好,Risha。 - Lila 告訴我你想要更多的收藏示例。我給你幾個。我想向您展示一個集合和界面列表: 舊級別 08 - 6- 嗯,這麼多。有四個列表、三個集合和四個地圖。 - 是的,這些都是接口List、Set、Map的各種實現。 - 實現之間有什麼區別? ——這就是我們今天要談的。稍等一下。- 也許你已經有一些問題了。 - 我知道如何在屏幕上顯示列表。以及如何顯示Set和Map? - List 的元素有嚴格的順序,因此可以簡單地按編號顯示。Set 和 Map 沒有嚴格的元素順序。實際上,當您添加或刪除任何項目時,它們的元素順序可能會發生變化。 - 哇,這很有趣! - 因此,發明了特殊對象(迭代器)來處理集合元素。使用它們,您可以遍歷集合的所有元素,即使它們沒有數字、只有名稱 (Map) 或根本沒有名稱 (Set)。 - 例子: 舊級別 08 - 7- 哇!這一切意味著什麼? ——其實很簡單。首先,我們從集合中得到一個特殊的迭代器對象。它只有兩種方法。 1 next()方法是返回集合的下一個元素。 2 hasNext()方法是檢查是否還有next()未返回的元素。 - 是的。它變得更加清晰。讓我告訴你我是如何理解的。- 因此,要獲得這個神奇的迭代器對象,首先,您需要在集合中調用一個方法 iterator()。- 然後,當有未退回的物品時,我會在循環中一個一個地獲取它們。我通過調用 next() 獲取集合元素,並使用 hasNext() 檢查迭代器中是否有元素。我對嗎? - 是的,類似的東西。而現在最有趣的事情。- 在 Java 中,有迭代器用法的簡短表示法。與whilefor類似,添加了另一個特殊運算符 « for each »。在代碼中,此運算符由與 相同的關鍵字表示- for-each運算符僅用於集合和容器。隱藏地使用了一個迭代器。 - 讓我向您展示使用迭代器的完整而簡短的方法: 舊級別 08 - 8- 請注意:右表中既沒有綠色也沒有紅色單詞。事實上,3 行被 1 行取代: 舊級別 08 - 9- 它看起來很漂亮。我更喜歡這樣! - 讓我們看一下與上面相同的例子,只是簡短的形式: 舊級別 08 - 10- 這是完全不同的故事! - 很高興你喜歡。

3 Diego,收集任務

- 嘿,阿米戈。我想給你一些收集任務:
任務
1個 1. 一個植物HashSet
創建一個String類型元素的HashSet集合。將 10 串添加到集合中:西瓜、香蕉、櫻桃、梨、甜瓜、黑莓、人參、草莓、鳶尾和土豆。在屏幕上顯示集合的內容。每個條目都應該在一個新行上。觀察如何改變添加元素的順序。
2個 2. HashMap of 10 pairs
創建一個集合HashMap<String, String>,將10對字符串放入集合中:西瓜-漿果,香蕉-草,櫻桃-漿果,梨-水果,甜瓜-蔬菜,黑莓-漿果,人參- 根,草莓 - 漿果,鳶尾 - 花,馬鈴薯 - 塊莖。
在屏幕上顯示集合的內容。每個條目都應該在一個新行上。

輸出示例(僅顯示一個字符串):
potato - tuber
3個 3. 貓的HashMap集合
有一個類 Cat,它有一個字段(name, String)。
創建一個集合HashMap<String, Cat>
添加 10 隻貓,使用貓名作為鍵。
將結果顯示到屏幕上。每個條目都應該在一個新行上。
4個 4. 在屏幕上顯示鍵列表
有一個集合HashMap<String, String>,它已經有 10 個不同的字符串。
在屏幕上顯示按鍵列表。每個條目都應該在一個新行上。
5個 5. 在屏幕上顯示值列表
有一個集合HashMap<String, String>,它已經有 10 個不同的字符串。
在屏幕上顯示值列表。每個條目都應該在一個新行上。
6個 6. HashMap 對象集合
有一個集合HashMap<String, Object>,它已經有 10 個不同的對像對。
在屏幕上顯示集合的內容。每個條目都應該在一個新行上。

輸出示例(僅顯示一個字符串):
Sim - 5

4 Kim,日期類型介紹

舊級別 08 - 11- 嘿,阿米戈。我想告訴你一個有趣的類型——日期。這種類型使您能夠存儲日期和時間,以及測量時間間隔。 - 看起來很有希望。繼續。 - 每個日期對像都存儲時間信息。它以一種非常有趣的形式存儲 - 自格林威治標準時間 1970 年 1 月 1 日起經過的毫秒數。 - 哇! - 是的。這個數字太大了,無法放入int中,您必須將其存儲在long中。但是計算兩個日期之間的差異非常容易:您只需用一個數字減去另一個數字即可知道精確到毫秒的差異。將來,當您遇到時區問題時,它會讓您的生活更輕鬆。 - 最有趣的是每個 Date 對像都由其創建時間初始化。要檢查當前時間,您只需創建一個對象。 - 以及如何使用它? - 以下是一些示例: 舊級別 08 - 12- 方法getTime()返回存儲在對象 Date 中的毫秒數。- 方法after()檢查調用此方法的日期是否晚於傳遞日期。- 方法getHours()getMinutes()getSeconds()返回調用它們的對象的小時數、分鐘數和秒數。- 此外,在最後一個示例中,您看到可以操縱存儲在對象Date中的日期/時間. 我們獲取當前時間和日期,然後將小時、分鐘和秒設置為零。同樣,我們將月份設置為一月,將月中的日期設置為 1。現在,對象yearStartTime存儲了 1 月 1 日的日期和時間,即 0 小時、0 分鐘和 0 秒。- 然後我們再次獲取當前日期currentTime,併計算兩個日期之間的毫秒差。我說的是msTimeDistance。- 然後將msTimeDistance除以一天中的毫秒數,得到從年初至今的總天數! - 哇!棒極了!

5 Elly,ArrayList 與 LinkedList

- 稍微調整一下你的想法怎麼樣?我希望它還沒有被吹走。- 在上面的容器和集合表中,您已經看到同一個接口可以有多個實現。現在我告訴你為什麼。ArrayListLinkedList之間有什麼區別。- 問題是集合可以用不同的方式實現,沒有單一的正確實現在一種方法中,一些操作很快,而其餘操作很慢。在另一種方法中,情況恰恰相反。沒有單一的完美解決方案。- 因此,決定對同一個集合進行一些實現。每個實現都針對特定的窄範圍操作進行了優化。因此出現了不同的集合。讓我們考慮兩個類的示例 - ArrayListLinkedList舊級別 08 - 13- ArrayList在內部實現為常規數組。因此,當一個元素被插入到中間時,它後面的所有元素都必須移動一位,然後才能將新元素插入到一個空位中。但是,獲取和編輯元素(get() 和 set())的操作在 ArrayList 中實現得非常快。因為他們所做的只是訪問內部數組的適當元素。- LinkedList以不同的方式實現。它是作為鍊錶實現的:一組單獨的元素,每個元素存儲對下一個和上一個元素的引用。要將元素插入此類列表的中間,方法 add() 只需更改對其未來鄰居的引用。但是,要獲取編號為130的元素,方法get()需要一致地遍歷從0到130的所有對象。換句話說,這裡的set和get非常慢。請看下表: 舊級別 08 - 14- 是的。現在越來越清楚了。是否有任何標准或規則,哪個集合是最好的? - 好吧,為簡化起見,這裡有以下規則:如果您要在集合中間插入(或刪除)許多元素,那麼您最好使用LinkedList。否則,使用ArrayList. - 我將在高層向您解釋這些列表的內部結構。到目前為止,我們將學習如何使用它們。

6 Diego,任務:衡量兩個列表的性能

- 是你。我開始感到無聊。你去哪兒了?這是任務。 - 他們有趣嗎? - 為什麼,當然!很有意思:
很有趣的任務
1個 1. 創建兩個列表LinkedList & ArrayList。
創建兩個列表:LinkedListArrayList
2個 2. 插入和刪除一萬次arrayList和linkedList的get()set()
方法 的插入、刪除、調用各做一萬次。
3個 3. 測量每個列表做一萬次插入需要多長時間
測量每個列表做一萬次插入需要多長時間。getTimeMsOfInsert()
方法應返回其執行時間(以毫秒為單位)。
4個 4. Measure time needed to do one thought of get of each list
Measure time needed to do one thousand of get() calls for each list getTimeMsOfGet()
方法應返回其執行時間(以毫秒為單位)。
5個 5.四種方法
實現4種方法。這些方法應該返回一個最適合執行指定操作的列表(以快速處理大量操作)。無需測量。

7 Elly:Set 和 Map,用它們可以做什麼

- 你還不累嗎?不,那我們繼續。我想向您解釋什麼是SetMap。他們有什麼操作。- Set是一堆非枚舉對象。Set的主要特點是它只有唯一的對象,也就是說,它們都是不同的。這就是你可以用它做的: 舊級別 08 - 15- 就這些嗎? - 其實,是。您還可以使用size()方法確定元素的數量。 -地圖呢? -地圖是一對。這是完全相同的集合,不是單個元素,而是鍵值對。唯一的限制是一對中的第一個對象,稱為鍵,是唯一的映射不能包含具有相同鍵的兩對。 - 這就是我們可以用Map做的: 舊級別 08 - 16- 這比 set 有趣得多。 - 是的,雖然 Map 不如列表流行,但用於許多任務。

8 Diego, Set & Map 任務

- 希望您已經了解什麼是 Set 和 Map?下面是一些 Set 和 Map 任務。
採集任務
1個 1. 20 個以 «L» 開頭的單詞
創建一組字符串 ( Set<String> ),將 20 個以 «L» 開頭的單詞放入其中。
2個 2.刪除所有大於10的數字
創建一組數字(Set<Integer>),將20個不同的數字放入其中。
從集合中刪除所有大於 10 的數字。
3個 3. 相同的名字和姓氏
創建一個字典(Map<String, String>)並根據模型 «last name» - «first name» 添加十個條目。檢查有多少人的名字或姓氏與指定的名字相同。
4個 4. 刪除所有在夏天出生的人
創建一個字典(Map<String, Date>)並根據模型 «last mane» - «birth date» 添加十個條目。從地圖上移除所有在夏季出生的人。
5個 5. 刪除名字相同的人
創建一個字典 ( Map<String, String> ) 並根據模型 «last name» - «first name» 添加十個條目。刪除具有相同名字的人。

9 教授,收藏講座

舊級別 08 - 17- 呵呵。我們終於到了收藏品。從我還是學生的時候起,我仍然有一個精彩的演講。當然,它有點塵土飛揚,但從根本上來說很棒。下面是我的筆記: Java Collections (Oracle Documentation) Collections in Java (Java T point) Java Collections Framework (tutorials point) Java Collections Tutorial

10 胡里奧

- 上帝啊!你又過勞了!我不是告訴過你不要工作那麼多嗎?讓我演奏一些東西來幫助您放鬆:

11 松鼠船長

- 你好,士兵! - 早上好先生! - 我有一些好消息要告訴你。這是一個快速檢查以加強您的技能。每天都這樣做,你會很快提高你的技能。任務是專門為在 Intellij IDEA 中執行而設計的。
在 Intellij Idea 中完成的其他任務
1個 1. 一組貓1.在類 Solution
中 創建一個公共靜態類 Cat。 2. 實現方法createCats(),它應該創建一貓並向其中添加三隻貓。 3. 在main方法中,從Set cats中移除一隻貓。 4. 實現方法printCats(),它應該在屏幕上顯示集合中剩餘的所有貓。每隻貓都應該換行。


2個 2. 所有動物的集合1.在類 Solution 中
創建公共靜態類 CatDog 。
2. 實現方法createCats(),它應該返回一組 4 隻貓。
3. 實施方法createDogs(),它應該返回一組 3 隻狗。
4. 實施方法join(),它應該返回所有動物的組合集,包括貓和狗。
5. 實施方法removeCats(),它應該從 set pets 中刪除 set cats 中存在的所有貓。
6.實現方法printPets(),它應該在屏幕上顯示其中存在的所有動物。每隻動物都應該在一個新的行上。
3個 3. 名字和/或姓氏相同的人
1. 創建字典(Map<String, String>)並根據模型 «last name» - «first name» 添加 10 個人。
2. 在這10個人中,讓有相同名字的人。
3.這10個人中,要有同姓的人。4. 將地圖
內容顯示到屏幕上。
4個 4. N 個數中的最小值
1. 從鍵盤上讀出數N
2. 從鍵盤讀取N 個整數並使用方法getIntegerList()將它們填充到一個列表中。3. 使用方法getMinimum()
查找列表元素中的最小數目。
5個 5.停止看聽。現在大寫
編寫一個程序,應該從鍵盤讀取一個字符串。
該程序應將文本中所有單詞的首字母替換為大寫。
將結果顯示到屏幕上。

示例輸入:
stop look listen
示例輸出:
Stop Look Listen
6個 6. 全家人在一起
1. 創建一個Human 類,其中包含以下字段:String nameboolean sexint ageArrayList<Human> children
2.創建9個對象,並按照這樣的方式進行填充,得到2個爺爺,2個奶奶,1個爸爸,1個媽媽,3個孩子。3. 在屏幕上顯示所有Human對象。
7 7. 移動一個修飾符static
移動一個static 修飾符以便代碼編譯。
8個 8. 五個最大的數字
創建一個包含 20 個數字的數組。用從鍵盤讀取的數字填充它。在屏幕上顯示五個最大的數字。
9 9. 處理日期1. 實現isDateOdd(String date)
方法,如果從年初算起的天數是奇數,則返回true,否則返回false。 2. 字符串日期以MAY 1 2013 JANUARY 1 2000 → true J​​ANUARY 2 2020 → false 格式傳遞



- 這些任務是針對果嶺的。我添加了更複雜的獎勵任務。僅適用於頂級槍支。
獎勵任務
1個 1.月數。
程序應從鍵盤讀取月份的名稱並按以下方式在屏幕上顯示其編號:« May is 5 month »
2個 2. 為程序添加新功能。
舊任務:程序確定哪個家庭(其姓氏)住在指定編號的房子裡。
新任務:該程序應該適用於城市而不是門牌號。

示例輸入:
Washington
the Smiths
New York
the Browns
London
the Johnsons

London

示例輸出:
the Johnsons
3個 3.學習和練習算法。
任務:程序應從鍵盤讀取 20 個單詞並按字母順序顯示它們。
留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION