John Squirrels
ระดับ
San Francisco

ระดับเก่า 08

เผยแพร่ในกลุ่ม

ตลาดแรงงานทั่วโลก

ระดับเก่า 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 - แล้วอะไรคือความแตกต่างระหว่างพวกเขา? - ฉันจะเริ่มต้นด้วยชุด ลองนึกภาพกองรองเท้า มันเป็นชุด ในชุด คุณสามารถเพิ่มองค์ประกอบ ค้นหา หรือลบออก แต่องค์ประกอบไม่มีคำสั่งที่เข้มงวด! - คำอธิบายสั้นเกินไป… -ทีนี้ลองนึกภาพรองเท้ากองเดิม คราวนี้วางเรียงรายไปตามผนัง ตอนนี้มีออเดอร์ ทุกองค์ประกอบมีหมายเลขของมัน ตัวอย่างเช่น คุณสามารถหา "คู่หมายเลข 7" ได้จากหมายเลขของมัน นี่คือรายการ คุณสามารถเพิ่มองค์ประกอบที่จุดเริ่มต้นหรือตรงกลางของรายการ หรือลบออกได้ สิ่งที่คุณต้องมีคือหมายเลขเท่านั้น - ก๊อตชา แล้วแผนที่ล่ะ? - ลองนึกภาพรองเท้าคู่เดียวกันแต่ตอนนี้ในแต่ละคู่มีป้ายกำกับ เช่น «Nick», «Joe» หรือ «Ann» นี่คือแผนที่ มักเรียกว่า «พจนานุกรม» ทุกองค์ประกอบมีชื่อเฉพาะที่คุณสามารถเข้าถึงได้ ชื่อเฉพาะขององค์ประกอบเรียกอีกอย่างว่าคีย์ และแผนที่คือชุดของคู่คีย์-ค่า คีย์ไม่จำเป็นต้องเป็นสตริง สามารถเป็นประเภทใดก็ได้ แผนที่ว่าเป็นคีย์ประเภทใดจำนวนเต็มเป็นจริงรายการ (มีความแตกต่างบางอย่าง) - ชัดเจน แต่ฉันต้องการดูตัวอย่างเพิ่มเติม - Risha จะยกตัวอย่างให้คุณฟัง และฉันต้องการเพิ่มคำอีกสองสามคำ - คอลเลคชันและคอนเทนเนอร์ทั้งหมดไม่ได้เก็บอะไรไว้เมื่อเพิ่งสร้างขึ้น แต่คุณสามารถเพิ่มองค์ประกอบเข้าไปได้ในภายหลัง พวกเขาจะเปลี่ยนขนาดแบบไดนามิก - โอ้ตอนนี้มันน่าสนใจ และคุณจะรู้ได้อย่างไรว่ามีกี่องค์ประกอบในคอลเลกชัน? - ในการทำเช่นนี้มีวิธีการsize( ) คอลเลกชันมีทุกสิ่งที่คุณต้องการ ฉันคิดว่าในสองสามบทเรียนคุณจะเห็นด้วยตัวคุณเองว่าคอลเลกชันเหล่านี้มีประโยชน์เพียงใด - ฉันหวังว่าอย่างนั้น.

1 Risha รายชื่อคอลเลกชันและอินเทอร์เฟซทั้งหมด

ระดับเก่า 08 - 5 - เฮ้ อามีโก้ - สวัสดี ริชา - ไลล่าบอกฉันว่าคุณต้องการตัวอย่างคอลเลกชันเพิ่มเติม ฉันจะให้คุณไม่กี่ ฉันต้องการแสดงรายการคอลเลกชันและอินเทอร์เฟซ: ระดับเก่า 08 - 6- Hum มากมาย มีสี่รายการ สามชุด และสี่แผนที่ - ใช่ สิ่งเหล่านี้คือการใช้งานอินเทอร์เฟซต่างๆ รายการ ชุด และแผนที่ - และความแตกต่างระหว่างการใช้งานคืออะไร? - นี่คือสิ่งที่เราจะพูดถึงในวันนี้ รอสักครู่ - บางทีคุณอาจมีคำถามอยู่แล้ว - ฉันรู้วิธีการแสดงรายการบนหน้าจอ และจะแสดง Set และ Map อย่างไร? - องค์ประกอบของรายการมีลำดับที่เข้มงวด ดังนั้นจึงอาจแสดงได้ง่ายๆ ด้วยตัวเลข ชุดและแผนที่ไม่มีลำดับองค์ประกอบที่เข้มงวด จริงๆ แล้ว ลำดับขององค์ประกอบอาจเปลี่ยนแปลงได้เมื่อคุณเพิ่มหรือลบรายการใดๆ - ว้าว น่าสนใจ! - ดังนั้นจึงมีการประดิษฐ์วัตถุพิเศษ ( ตัววนซ้ำ ) เพื่อทำงานร่วมกับองค์ประกอบคอลเลกชัน คุณสามารถใช้องค์ประกอบเหล่านี้เพื่อเรียกใช้องค์ประกอบทั้งหมดของคอลเลกชัน แม้ว่าองค์ประกอบเหล่านั้นจะไม่มีตัวเลข มีเพียงชื่อ (แผนที่) หรือไม่มีชื่อเลย (ชุด) - ตัวอย่าง: ระดับเก่า 08 - 7- ว้าว! และทั้งหมดนี้หมายความว่าอย่างไร? - ในความเป็นจริงมันค่อนข้างง่าย ขั้นแรก เราได้รับวัตถุตัวทำซ้ำพิเศษจากคอลเลกชัน มันมีแค่สองวิธี 1 วิธีถัดไป () คือการส่งคืนองค์ประกอบถัดไปของคอลเลกชัน 2 วิธีการ hasNext() คือการตรวจสอบว่ามีองค์ประกอบที่ยังไม่ส่งคืนโดย next() หรือไม่ - ใช่. มันจะชัดเจนขึ้น ให้ฉันบอกคุณว่าฉันเข้าใจอย่างไร - ดังนั้น เพื่อให้ได้วัตถุตัววนซ้ำที่มีมนต์ขลังนี้ ขั้นแรก คุณต้องเรียกใช้เมธอด iterator() ในคอลเล็กชัน - จากนั้นฉันจะได้รับทีละรายการในลูปในขณะที่มีรายการที่ไม่ได้รับคืน ฉันได้รับองค์ประกอบคอลเลกชันโดยเรียก next() และตรวจสอบว่ามีองค์ประกอบในตัววนซ้ำโดยใช้ hasNext() หรือไม่ ฉันถูกไหม? - ใช่บางอย่างเช่นนั้น และตอนนี้สิ่งที่น่าสนใจที่สุด - ใน Java มีสัญกรณ์สั้นๆ ของการใช้ iterator เช่นเดียวกับwhileและforมีการเพิ่มโอเปอเรเตอร์พิเศษอีกตัว « for each » ในรหัสตัวดำเนิน การ นี้แสดงด้วยคำหลักเดียวกันสำหรับ- ตัวดำเนินการ สำหรับแต่ละรายการใช้กับคอลเลกชันและคอนเทนเนอร์เท่านั้น มันใช้ตัววนซ้ำแบบซ่อนเร้น - ให้ฉันแสดงวิธีการทำงานกับ iterator ทั้งหมดและโดยย่อ: ระดับเก่า 08 - 8- โปรดทราบ: ไม่มีคำสีเขียวหรือสีแดงในตารางด้านขวา ในความเป็นจริง 3 บรรทัดถูกแทนที่ด้วยบรรทัดเดียว: ระดับเก่า 08 - 9- มันดูสวยงาม ฉันชอบวิธีนี้มากกว่า! - มาดูตัวอย่างเดียวกันกับด้านบนนี้ในรูปแบบสั้นๆ เท่านั้น: ระดับเก่า 08 - 10- มันเป็นเรื่องที่แตกต่างอย่างสิ้นเชิง! - ฉันดีใจที่คุณชอบมัน

3 ดิเอโก งานสะสม

- เฮ้ อามีโก้ ฉันต้องการให้งานรวบรวมบางอย่างแก่คุณ:
งาน
1 1. โรงงาน HashSet
สร้างคอ ลเลกชัน HashSetขององค์ประกอบประเภทสตริง เพิ่มสตริง 10 สายในคอลเลกชัน: แตงโม กล้วย เชอร์รี่ ลูกแพร์ เมล่อน แบล็กเบอร์รี่ โสม สตรอเบอร์รี่ ไอริส และมันฝรั่ง แสดงเนื้อหาของคอลเลกชันบนหน้าจอ แต่ละรายการควรอยู่ในบรรทัดใหม่ ดูการเปลี่ยนแปลงลำดับขององค์ประกอบที่เพิ่มเข้ามา
2 2. HashMap จำนวน 10 คู่
สร้างคอลเลกชันHashMap<String, String>วางสตริง 10 คู่ลงในคอลเลกชัน: แตงโม - เบอร์รี่, กล้วย - หญ้า, เชอร์รี่ - เบอร์รี่, ลูกแพร์ - ผลไม้, แตงโม - ผัก, แบล็กเบอร์รี่ - เบอร์รี่, โสม - ราก, สตรอเบอร์รี่ - เบอร์รี่, ไอริส - ดอกไม้, มันฝรั่ง - หัว
แสดงเนื้อหาของคอลเลกชันบนหน้าจอ แต่ละรายการควรอยู่ในบรรทัดใหม่

ตัวอย่างเอาต์พุต (แสดงเพียงสตริงเดียว):
มันฝรั่ง - หัว
3 3. คอลเลกชัน HashMap ของแมว
มีคลาส Catซึ่งมีชื่อ ฟิลด์ (ชื่อ, สตริง)
สร้างคอลเลกชันHashMap<String, Cat >
เพิ่มแมว 10 ตัวโดยใช้ชื่อแมวเป็นกุญแจ
แสดงผลออกทางจอภาพ แต่ละรายการควรอยู่ในบรรทัดใหม่
4 4. แสดงรายการคีย์บนหน้าจอ
มีคอลเล็กชันHashMap<String, String>ซึ่งมีสตริงที่แตกต่างกัน 10 รายการ
แสดงรายการปุ่มบนหน้าจอ แต่ละรายการควรอยู่ในบรรทัดใหม่
5 5. แสดงรายการค่าบนหน้าจอ
มีคอลเล็กชันHashMap<String, String>มีสตริงที่แตกต่างกัน 10 รายการ
แสดงรายการค่าต่างๆ บนหน้าจอ แต่ละรายการควรอยู่ในบรรทัดใหม่
6 6. คอลเลกชัน HashMap ของ Object
มีคอลเลกชันHashMap<String, Object>ซึ่งมีคู่วัตถุต่างกัน 10 คู่
แสดงเนื้อหาของคอลเลกชันบนหน้าจอ แต่ละรายการควรอยู่ในบรรทัดใหม่

ตัวอย่างเอาต์พุต (แสดงเพียงสตริงเดียว):
Sim - 5

4 คิม บทนำประเภทวันที่

ระดับเก่า 08 - 11- เฮ้ อามีโก้ ฉันอยากจะบอกคุณเกี่ยวกับประเภทที่น่าสนใจ – วันที่ ประเภทนี้ทำให้คุณสามารถจัดเก็บวันที่และเวลา ตลอดจนการวัดช่วงเวลา - นั่นดูมีความหวัง ต่อไป. - ทุกวัตถุ Date เก็บข้อมูลเวลา มันถูกจัดเก็บในรูปแบบที่น่าสนใจมาก - จำนวนมิลลิวินาทีที่ผ่านไปตั้งแต่วันที่ 1 มกราคม 1970 GMT - ว้าว! - ใช่. ตัวเลขนี้มีขนาดใหญ่มากจนไม่พอดีกับintคุณต้องเก็บไว้ในlong แต่มันง่ายมากที่จะคำนวณความแตกต่างระหว่างสองวัน: คุณต้องลบตัวเลขหนึ่งออกจากอีกตัวเลขหนึ่งเพื่อทราบความแตกต่างที่ถูกต้องเป็นมิลลิวินาที ในอนาคตมันจะทำให้ชีวิตของคุณง่ายขึ้น เมื่อคุณประสบปัญหาเกี่ยวกับเขตเวลา - และสิ่งที่น่าสนใจที่สุดคืออ็อบเจกต์ Date ทุกตัวจะเริ่มต้นตามเวลาที่สร้าง หากต้องการตรวจสอบเวลาปัจจุบัน คุณเพียงแค่ต้องสร้างวัตถุ - และวิธีการทำงานกับมัน? - นี่คือตัวอย่างบางส่วน: ระดับเก่า 08 - 12- เมธอดgetTime()ส่งคืนจำนวนมิลลิวินาทีที่จัดเก็บไว้ในออบเจกต์ Date - เมธอดafter()ตรวจสอบว่าวันที่ซึ่งเมธอดนี้ถูกเรียก มาหลังจากวันที่ผ่านไปหรือไม่ - เมธอดgetHours() , getMinutes() , getSeconds()คืนค่าจำนวนชั่วโมง นาที และวินาทีสำหรับวัตถุที่ถูกเรียกใช้ - นอกจากนี้ ในตัวอย่างสุดท้าย คุณเห็นว่าเป็นไปได้ที่จะจัดการวันที่/เวลาที่จัดเก็บไว้ในวัตถุวันที่. เราได้เวลาและวันที่ปัจจุบัน จากนั้นตั้งค่าชั่วโมง นาที และวินาทีเป็นศูนย์ ในทำนองเดียวกัน เราตั้งค่าเดือนเป็นมกราคม และวันของเดือนเป็น 1 ตอนนี้yearStartTime วัตถุ เก็บวันที่และเวลาของวันที่ 1 มกราคม 0 ชั่วโมง 0 นาที และ 0 วินาที - จากนั้นเราจะได้วันที่ปัจจุบันcurrentTimeอีกครั้ง และคำนวณความแตกต่างระหว่างสองวันในหน่วยมิลลิวินาที ฉันกำลังพูดถึงmsTimeDistance - จากนั้นหารmsTimeDistanceด้วยจำนวนมิลลิวินาทีในหนึ่งวัน แล้วรับจำนวนวันทั้งหมดที่ผ่านไปตั้งแต่ต้นปีจนถึงปัจจุบัน! - ว้าว! ที่น่ากลัว!

5 Elly, ArrayList กับ LinkedList

- ปรับความคิดของคุณสักหน่อยดีไหม? ฉันหวังว่ามันยังไม่ปลิว - ในตารางของคอนเทนเนอร์และคอลเล็กชันด้านบน คุณเห็นว่าอินเทอร์เฟซเดียวกันสามารถใช้งานหลายรายการได้ ตอนนี้ฉันจะบอกคุณว่าทำไม และอะไรคือความแตกต่างระหว่างArrayListและLinkedList - สิ่งสำคัญคือคอลเลกชั่นสามารถนำไปใช้ได้หลายวิธี และไม่มีการใช้งานที่ถูกต้องแม้แต่วิธีเดียว ในแนวทางหนึ่ง การดำเนินการบางอย่างรวดเร็วและการดำเนินการที่เหลือช้า ในอีกแนวทางหนึ่งก็ตรงกันข้าม ไม่มีวิธีแก้ปัญหาใดที่สมบูรณ์แบบ - ดังนั้นจึงมีการตัดสินใจที่จะดำเนินการบางอย่างในคอลเล็กชันเดียวกัน การใช้งานแต่ละครั้งได้รับการปรับให้เหมาะสมสำหรับการดำเนินงานช่วงแคบๆดังนั้นจึงมีคอลเลกชันที่แตกต่างกัน ลองพิจารณาตัวอย่างของสองคลาส- ArrayListและLinkedList ระดับเก่า 08 - 13- ArrayListถูกนำมาใช้ภายในเป็นอาร์เรย์ปกติ ดังนั้น เมื่อมีการแทรกองค์ประกอบลงตรงกลาง องค์ประกอบทั้งหมดจะต้องถูกเลื่อนไปทีละองค์ประกอบ จากนั้นจึงจะสามารถแทรกองค์ประกอบใหม่ลงในพื้นที่ว่างได้ อย่างไรก็ตาม การดำเนินการรับและแก้ไของค์ประกอบ ( get() และ set() ) จะถูกนำไปใช้อย่างรวดเร็วใน ArrayList เพราะพวกเขาทำเพียงแค่เข้าถึงองค์ประกอบที่เหมาะสมของอาร์เรย์ด้านในเท่านั้น - มีการนำ LinkedListไปใช้ในลักษณะอื่น มันถูกนำไปใช้เป็นรายการที่เชื่อมโยง: ชุดขององค์ประกอบแต่ละรายการ ซึ่งแต่ละองค์ประกอบจะเก็บการอ้างอิงถึงองค์ประกอบถัดไปและก่อนหน้า หากต้องการแทรกองค์ประกอบลงตรงกลางรายการ วิธีการ add() เพียงแค่เปลี่ยนการอ้างอิงไปยังเพื่อนบ้านในอนาคต อย่างไรก็ตาม ในการรับองค์ประกอบที่มีหมายเลข 130 เมธอด get() จำเป็นต้องทำงานอย่างต่อเนื่องผ่านวัตถุทั้งหมดตั้งแต่ 0 ถึง 130 กล่าวอีกนัยหนึ่งset และ get here นั้นช้ามาก ดูตารางด้านล่าง: ระดับเก่า 08 - 14- ใช่ เริ่มชัดเจนขึ้นแล้ว มีเกณฑ์หรือกฎเกณฑ์ใด ๆ คอลเลกชันที่ดีที่สุด? - เพื่อทำให้ง่ายขึ้น นี่คือกฎต่อไปนี้: หากคุณกำลังจะแทรก (หรือลบ) องค์ประกอบจำนวนมากในช่วงกลางของคอลเลกชัน คุณควรใช้LinkedList มิฉะนั้นให้ใช้ArrayList. - ฉันจะอธิบายโครงสร้างภายในของรายการเหล่านี้ในระดับอาวุโส จนถึงตอนนี้เราจะเรียนรู้วิธีใช้งาน

6 Diego, งาน: วัดประสิทธิภาพของทั้งสองรายการ

- เป็นคุณนั้นเอง. ฉันเริ่มเบื่อ คุณเคยไปที่ไหน นี่คืองาน - พวกเขาน่าสนใจไหม? - แน่นอน! น่าสนใจมาก:
งานที่น่าสนใจมาก
1 1. สร้างสองรายการ LinkedList & ArrayList
สร้างสองรายการ: LinkedListและArrayList
2 2. ทำ 10,000 การแทรกและการลบ
ทำ 10,000 การแทรก การลบ การเรียกใช้เมธอดget()และset()สำหรับ arrayList และ LinkedList
3 3. วัดระยะเวลาที่จะทำการแทรก 10,000 รายการสำหรับแต่ละรายการ
วัดว่าใช้เวลานานเท่าใดในการแทรก 10,000 รายการสำหรับแต่ละรายการ
เมธอดgetTimeMsOfInsert()ควรส่งคืนเวลาของการดำเนินการเป็นมิลลิวินาที
4 4. วัดเวลาที่จำเป็นในการเรียก get หมื่นครั้งสำหรับแต่ละรายการ
วัดเวลาที่ต้องใช้ในการเรียก get() หนึ่งหมื่นครั้งสำหรับแต่ละรายการ
เมธอดgetTimeMsOfGet()ควรส่งคืนเวลาของการดำเนินการเป็นมิลลิวินาที
5 5. สี่วิธี
ใช้ 4 วิธี เมธอดควรส่งคืนรายการที่เหมาะสมที่สุดสำหรับการดำเนินการที่ระบุ (เพื่อรับมือกับการดำเนินการจำนวนมากอย่างรวดเร็ว) ไม่จำเป็นต้องวัด

7 Elly: ตั้งค่าและทำแผนที่ สิ่งที่สามารถทำได้กับพวกเขา

- คุณยังไม่เหนื่อยอีกเหรอ? ไม่ล่ะ เรามาต่อกันเลย ฉันอยากจะอธิบายว่าSetและMapคือ อะไร และมีการดำเนินงานอะไรบ้าง - เซตเป็นกลุ่มของวัตถุที่ไม่ได้แจกแจง คุณลักษณะหลักของSetคือมีวัตถุเฉพาะเท่านั้นกล่าวคือพวกมันแตกต่างกันทั้งหมด นั่นคือสิ่งที่คุณสามารถทำได้: ระดับเก่า 08 - 15- แค่นั้นเหรอ? - ที่จริงใช่ คุณยังสามารถกำหนดจำนวนองค์ประกอบโดยใช้เมธอดsize( ) - แล้วแผนที่ ล่ะ ? - แผนที่เป็นชุดคู่ เป็นชุดเดียวกัน ไม่ใช่ขององค์ประกอบเดียว แต่เป็นของคู่คีย์-ค่า ข้อจำกัดเพียงอย่างเดียวก็คือวัตถุชิ้นแรกในคู่ซึ่งเรียกว่าคีย์จะต้องไม่ซ้ำกัน แผนที่ไม่สามารถมีสองคู่กับคีย์เดียวกัน - นั่นคือสิ่งที่เราทำได้ด้วยMap : ระดับเก่า 08 - 16- สิ่งนี้น่าสนใจกว่าที่ตั้งไว้มาก - ใช่ แม้ว่าแผนที่จะไม่เป็นที่นิยมเท่ารายการ แต่ก็ใช้สำหรับงานหลายอย่าง

8 งานดิเอโก ชุดและแผนที่

- ฉันหวังว่าคุณจะได้เรียนรู้แล้วว่า Set และ Map คืออะไร? ต่อไปนี้คืองานตั้งค่าและแผนที่บางส่วน
งานรวบรวม
1 1. 20 คำที่ขึ้นต้นด้วย «L»
สร้างชุดของสตริง ( Set<String> ) ใส่ 20 คำที่ขึ้นต้นด้วย «L» ลงไป
2 2. ลบตัวเลขทั้งหมดที่มากกว่า 10
สร้างชุดตัวเลข ( Set<Integer> ) ใส่ตัวเลขที่แตกต่างกัน 20 ตัวลงในชุดนั้น
นำตัวเลขทั้งหมดที่มากกว่า 10 ออกจากชุด
3 3. ชื่อและนามสกุลที่เหมือนกัน
สร้างพจนานุกรม ( แผนที่<String, String> ) และเพิ่มสิบรายการตามรูปแบบ «นามสกุล» - «ชื่อ» ตรวจสอบว่ามีกี่คนที่มีชื่อหรือนามสกุลตรงกับชื่อที่กำหนด
4 4. ลบคนที่เกิดในฤดูร้อนทั้งหมด
สร้างพจนานุกรม ( แผนที่<String, Date> ) และเพิ่มสิบรายการตามรูปแบบ «แผงคอสุดท้าย» - «วันเกิด» ลบทุกคนที่เกิดในฤดูร้อนออกจากแผนที่
5 5. ลบคนที่มีชื่อเหมือนกัน
สร้างพจนานุกรม ( แผนที่<String, String> ) และเพิ่มสิบรายการตามรูปแบบ «นามสกุล» - «ชื่อ» ลบคนที่มีชื่อเหมือนกัน

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. สร้างCat คลาสคงที่สาธารณะภายในคลาส Solution .
2. ใช้วิธีการcreateCats()ซึ่งควรสร้างชุดแมวและเพิ่มแมวสามตัวเข้าไป
3. ใน วิธีการ หลักให้นำแมวออกจากชุดแมว
4. ใช้วิธีการprintCats()ซึ่งควรแสดงแมวทั้งหมดที่เหลืออยู่ในชุดบนหน้าจอ แมวทุกตัวควรอยู่ในบรรทัดใหม่
2 2. ชุดสัตว์ทั้งหมด
1. สร้างคลาสคงที่สาธารณะ Cat and Dogภายในคลาส Solution
2. ใช้วิธีการcreateCats()ซึ่งควรส่งคืนชุดแมว 4 ตัว
3. ใช้วิธีการcreateDogs()ซึ่งควรส่งคืนชุดสุนัข 3 ตัว
4. ใช้วิธีการjoin()ซึ่งควรส่งคืนชุดรวมของสัตว์ทั้งหมด ทั้งแมวและสุนัข
5. ใช้วิธีการremoveCats()ซึ่งควรลบแมวทั้งหมดที่อยู่ในชุดแมวออกจากสัตว์เลี้ยงชุด
6. ใช้วิธีการprintPets()ซึ่งควรแสดงหน้าจอสัตว์ทั้งหมดที่อยู่ในนั้น สัตว์แต่ละตัวควรอยู่ในบรรทัดใหม่
3 3. คนที่ชื่อและ/หรือนามสกุลเหมือนกัน
1. สร้างพจนานุกรม ( Map<String, String> ) และเพิ่ม 10 คนตามแบบ «นามสกุล» - «ชื่อแรก».
2. ใน 10 คนนี้ ให้มีคนชื่อซ้ำกัน
3. ใน 10 คนนี้ ให้มีคนนามสกุลเดียวกัน 4.
แสดงเนื้อหาบนหน้าจอของแผนที่
4 4. จำนวนขั้นต่ำของ N
1. อ่านจากแป้นพิมพ์หมายเลขN .
2. อ่านจำนวนเต็มจากแป้นพิมพ์Nและเติมรายการโดยใช้เมธอด getIntegerList ( )
3. ค้นหาจำนวนขั้นต่ำในบรรดาองค์ประกอบของรายการโดยใช้เมธอด getMinimum ( )
5 5. หยุดดู ฟัง ตอนนี้ตัวพิมพ์ใหญ่
เขียนโปรแกรมที่ควรอ่านจากแป้นพิมพ์เป็นสตริง
โปรแกรมควรแทนที่ตัวอักษรตัวแรกของคำทั้งหมดในข้อความด้วยตัวพิมพ์ใหญ่
แสดงผลออกทางจอภาพ

ตัวอย่างอินพุต:
หยุดดู ฟัง
เอาต์พุตตัวอย่าง:
หยุดดู ฟัง
6 6. ทั้งครอบครัวอยู่ด้วยกัน
1. สร้างคลาส Humanด้วยฟิลด์: String name , boolean sex , int age , ArrayList<Human> children
2. สร้างวัตถุ 9 อย่างและเติมเต็มในลักษณะที่จะได้รับปู่สองคน, ย่าสองคน, พ่อ, แม่และลูกสามคน 3. แสดง วัตถุ มนุษย์ทั้งหมดบนหน้าจอ
7 7. ย้ายหนึ่งตัวแก้ไขแบบสแตติก
ย้ายตัวแก้ไขแบบคงที่หนึ่งตัวเพื่อให้โค้ดคอมไพล์
8 8. ตัวเลขที่ใหญ่ที่สุดห้า
ตัว สร้างอาร์เรย์ของตัวเลข 20 ตัว เติมด้วยตัวเลขที่อ่านจากแป้นพิมพ์ แสดงตัวเลขสูงสุดห้าตัวบนหน้าจอ
9 9. การทำงานกับวัน
ที่ 1 ใช้เมธอดisDateOdd(String date)เพื่อให้คืนค่าจริง หากจำนวนวันนับจากต้นปีเป็นเลขคี่ มิฉะนั้นจะส่งกลับค่าเท็จ
2. วันที่ของสตริงถูกส่งในรูปแบบ1 พฤษภาคม 2013

1 มกราคม 2000 → จริง
2 มกราคม 2020 → เท็จ
- งานเหล่านั้นสำหรับกรีน ฉันเพิ่มงานโบนัสที่มีความซับซ้อนสูงขึ้น สำหรับปืนชั้นนำเท่านั้น
งานโบนัส
1 1. เลขเดือน.
โปรแกรมควรอ่านชื่อเดือนจากแป้นพิมพ์และแสดงหน้าจอเป็นตัวเลขดังนี้ « พฤษภาคมเป็นเดือนที่ 5 »
2 2. เพิ่มฟังก์ชั่นใหม่ให้กับโปรแกรม
งานเก่า:โปรแกรมกำหนดว่าครอบครัวใด (นามสกุล) อาศัยอยู่ในบ้านตามจำนวนที่ระบุ
ภารกิจใหม่:โปรแกรมควรทำงานกับเมือง ไม่ใช่บ้านเลขที่

ตัวอย่างอินพุต:
Washington
the Smiths
New York
the Browns
London
the Johnsons

London

ตัวอย่างเอาต์พุต:
the Johnsons
3 3. การเรียนรู้และฝึกฝนอัลกอริทึม
งาน:โปรแกรมควรอ่านจากแป้นพิมพ์ 20 คำและแสดงตามลำดับตัวอักษร
ความคิดเห็น
  • เป็นที่นิยม
  • ใหม่
  • เก่า
คุณต้องลงชื่อเข้าใช้เพื่อแสดงความคิดเห็น
หน้านี้ยังไม่มีความคิดเห็นใด ๆ