เรียนรู้การเขียนโปรแกรม Java: วิธีใช้รายการหัวข้อ & บริษัท
ในบทความล่าสุดในชุด Java ของเราเราอธิบายวิธีจัดการเธรดรายการข้อยกเว้นและไฟล์ใน Java อย่างถูกต้อง
Java: ข้อยกเว้นคืออะไร
หากคุณยังไม่ได้ทำงานกับ Java คุณสามารถอ่าน "พื้นฐาน" ของเราที่นี่ก่อน รหัสตัวอย่างต่าง ๆ สามารถพบได้ในแกลเลอรี่รูปภาพในตอนท้ายของบทความ
- ข้อยกเว้นคือปัญหาที่เกิดขึ้นขณะที่โปรแกรมกำลังทำงาน
- มีรหัสพิเศษที่จะจัดการกับคำสั่งดังกล่าว ในการทำสิ่งนี้ก่อนอื่นให้เขียน "ลอง {" จากนั้นจึงเรียกใช้โค้ด จากนั้นเขียน "} catch (Exception e) {" และคำสั่งต่าง ๆ ที่จะดำเนินการหากไม่สามารถดำเนินการก่อนหน้า อย่าลืมที่จะเพิ่มรั้งในตอนท้าย
- คำสั่ง Throw ยังเป็นประโยชน์อย่างมาก ตัวอย่างนี้คือรหัส» int div (int a, int b) พ่น««» ArithmeticException {«⮩» if (b == 0) {«⮩»โยน ArithmeticException ใหม่ ("หารด้วย 0!"); «⮩ »} อื่น {«⮩» return a / b; «⮩»} «⮩»} « คำสั่ง throws ในวิธีการกำหนดชนิดข้อยกเว้นวิธีการที่จะได้รับ คีย์เวิร์ด throw กำหนดว่าจะเกิดอะไรขึ้นกับข้อยกเว้นนี้
- ในทางปฏิบัติ: บล็อกลองแบบครั้งเดียวสามารถมีบล็อกการจับได้หลายแบบ
ใช้เธรดใน Java
เธรดอนุญาตให้คุณรันคำสั่งที่แตกต่างกันใน Java ในเวลาเดียวกัน มีสองวิธีในการสร้างเธรด
- ในอีกด้านหนึ่งคลาสที่แน่นอนสามารถสืบทอดจากคลาส "เธรด" ตัวอย่างเช่นก่อนอื่นให้เขียน "class Loader ขยาย Thread {" จากนั้นคุณต้องกำหนดวิธีการด้วย "public void run () {" ซึ่งอธิบายการทำงานของเธรด ในคลาสอื่นคุณสามารถใช้คำสั่ง "Loader obj = new Loader ();" เพื่อใช้เมธอด "obj.start ();" เพื่อเริ่มเธรด
- หรือคุณสามารถใช้อินเทอร์เฟซ "Runnable" ในคลาสได้ คุณสามารถทำได้ด้วยคำสั่ง "class Loader ใช้ Runnable {" กำหนดวิธีการเรียกใช้อีกครั้ง ตอนนี้คุณสามารถเริ่มเธรดในคลาสอื่นด้วยรหัส "Thread t = new Thread (new Loader ());" ⮩ "t.start ();"
- เคล็ดลับ: คุณสามารถใช้คำสั่ง "Thread.sleep (1000);" เพื่อปล่อยให้เธรดพักได้หนึ่งวินาที อย่างไรก็ตามโปรดทราบว่าคำสั่งนี้จะสร้าง InterruptException
สร้างรายการใน Java
มีรายการอยู่สองประเภทใน Java: "ArrayList" และ "LinkedList"
- โดยทั่วไปแล้วอาร์เรย์ใน Java สามารถเก็บวัตถุได้จำนวนหนึ่งเท่านั้น อย่างไรก็ตามมีฟังก์ชันที่เรียกว่า "ArrayList" ใน Java API ก่อนอื่นให้เขียน "import java.util.ArrayList;" เพื่อนำเข้าแพ็คเกจที่จำเป็น ตอนนี้คุณสามารถใช้คำสั่ง ArrayList colors = new ArrayList (); เพื่อสร้างรายการใหม่ คุณสามารถใช้คำสั่ง ArrayList colors = new ArrayList (10); เพื่อสร้างรายการที่ระบุชนิดข้อมูลและขนาดล่วงหน้า
- ตอนนี้คุณสามารถเพิ่มบางอย่างในรายการด้วยคำสั่ง» colors.add ("... "); « ด้วย» colors.remove ("... "); «กระบวนการนี้สามารถย้อนกลับได้ คุณยังสามารถใช้» colors.contain (... ); «เพื่อสอบถามว่ารายการมีองค์ประกอบที่แน่นอนหรือใช้คำสั่ง» colors.get (int x); «เพื่อรับค่าที่มีดัชนีที่แน่นอน สุดท้ายคุณสามารถใช้» colors.size (); «เพื่อค้นหาจำนวนองค์ประกอบในรายการและใช้» colors.clear (); «เพื่อลบองค์ประกอบทั้งหมดของรายการ
- อีกวิธีหนึ่งคือ "LinkedList" ซึ่งคุณสามารถนำเข้าด้วยคำสั่ง» import java.util.LinkedList; « คำสั่งเหมือนกันที่นี่ อย่างไรก็ตามคุณต้องเขียน "LinkedList" ทุกครั้งแทนที่จะเป็น "ArrayList" ArrayList เหมาะสมกว่าสำหรับการจัดเก็บวัตถุที่สามารถเข้าถึงได้ในภายหลัง คุณควรใช้ LinkedList หากคุณต้องการเปลี่ยนข้อมูล
Java: ใช้ HashMap
ในรายการด้านบนแต่ละวัตถุมีดัชนี (จำนวนเต็ม) HashMap ใช้เพื่อจัดเก็บข้อมูลด้วยค่าที่ประกอบด้วย "Key" และ "Object"
- คุณนำเข้า HashMap ด้วยคำสั่ง» import java.util.HashMap; « คล้ายกับรายการตอนนี้คุณสามารถสร้าง HashMap ด้วยคำสั่ง» HashMap points = new HashMap (); «
- ต่อไปตัวอย่างเช่นคุณสามารถเพิ่มคำสั่ง» points.put ("Amy", 154); « คำสั่ง» System.out.println ("points.get (" Amy ")); «ตอนนี้ส่งออกค่า 154 อีกครั้งคุณสามารถใช้วิธีการลบเพื่อลบมัน
- HashMap ไม่สามารถมีวัตถุที่มีสองปุ่มเหมือนกัน วัตถุจะถูกเขียนทับ เมธอด "containKey" และ "containValue" เป็นประโยชน์อย่างมากและสามารถใช้เพื่อตรวจสอบว่ามีวัตถุหรือคีย์อยู่ใน HashMap หรือไม่
- นอกจากนี้ยังมีสิ่งที่เรียกว่า "ชุดแฮช" ชุดคือชุดของค่าโดยที่ไม่มีค่าเหมือนกันสองค่า คำสั่ง import java.util.HashSet; ถูกใช้เพื่อนำเข้า ตัวอย่างเช่นคุณสามารถสร้างชุดใหม่ด้วยคำสั่ง» HashSet set = new HashSet (); « ตอนนี้คุณสามารถเพิ่มองค์ประกอบใน HashSet นี้ด้วยคำสั่ง» set.add ("... "); « คำสั่ง» System.out.println (ชุด); «ในที่สุดก็เอาต์พุตคำสั่งทั้งหมดของชุด
- โดยปกติแล้วลำดับขององค์ประกอบภายในชุดแฮชจะไม่ได้รับการดูแลอย่างสม่ำเสมอ อย่างไรก็ตามหากคุณต้องการคุณสามารถใช้ "LinkedHashSet"
- โดยวิธีการ: ตารางแฮชจะเก็บข้อมูลผ่านกลไกที่เรียกว่า "hashing" ซึ่งจะใช้ทุกค่าของคีย์เพื่อกำหนดค่าเฉพาะที่เรียกว่า "รหัสแฮช" พูดง่ายๆคือนั่นหมายความว่าทุกองค์ประกอบของชุดแฮชจะเชื่อมโยงกับรหัสแฮช
เรียงลำดับรายการและใช้ตัววนซ้ำ
เพื่อทำงานกับรายการได้อย่างมีประสิทธิภาพยิ่งขึ้นคุณสามารถจัดเรียงและใช้ตัววนซ้ำได้
- Java API ยังมีคลาสคอลเล็กชัน หนึ่งในวิธีการที่เป็นประโยชน์มากที่สุดที่นี่คือวิธีการเรียงลำดับ เมธอดทั้งหมดของคลาสคอลเล็กชันเป็นเมธอดแบบสแตติกดังนั้นจึงไม่จำเป็นต้องประกาศอีกครั้ง ตัวอย่างเช่นถ้าคุณสร้าง ArrayList ชื่อ "animal" คุณสามารถสั่งซื้อค่าได้โดยใช้คำสั่ง Collections.sort (animal); คุณสามารถอิมพอร์ตคลาส Collections ด้วยคำสั่ง» import java.util.Collections; «
- ตัววนซ้ำเป็นวัตถุที่หมุนเวียนในคอลเล็กชันและรับและสามารถลบค่าได้ คุณนำเข้าแพคเกจที่จำเป็นด้วยคำสั่ง» import java.util.iterator; « ในกรณีนี้เราได้สร้าง LinkedList ชื่อ "animals" แล้ว ตอนนี้คุณสามารถกำหนดตัววนซ้ำด้วยคำสั่ง» Iterator it = animals.iterator (); « หากคุณเรียกใช้งานคำสั่ง» System.out.println (it.next ()); «องค์ประกอบแรกของ LinkedList คือเอาต์พุต หากคุณดำเนินการคำสั่งอีกครั้งตัววนซ้ำจะเลื่อนไปหนึ่งก้าวและส่งออกองค์ประกอบที่สอง ที่นี่เช่นกันคุณสามารถลบองค์ประกอบด้วยวิธีการลบ นอกจากนี้ยังมีวิธีการ hasNext ซึ่งคุณสามารถใช้เพื่อตรวจสอบว่ามีองค์ประกอบอื่นอยู่หรือไม่
Java: สร้างและใช้ไฟล์
คุณสามารถสร้างและใช้ไฟล์ของคุณเองใน Java ได้อย่างง่ายดาย
- ในการทำสิ่งนี้คุณต้องนำเข้าแพ็คเกจที่จำเป็นก่อนโดยใช้คำสั่ง "import java.io.File;" จากนั้นกำหนดไฟล์ที่มีเส้นทางที่เหมาะสมโดยใช้คำสั่ง»ไฟล์ = ไฟล์ใหม่ ("C: \\ data \\ input-file.txt"); «. ด้วย» if (x.exists ()) {«คุณสามารถ ตรวจสอบว่ามีไฟล์อยู่หรือไม่ คุณได้รับชื่อไฟล์ด้วย "x.getName ()"
- ในขั้นตอนถัดไปคุณสามารถสร้างเครื่องสแกนใหม่โดยใช้คำสั่ง» Scanner sc = new Scanner (x); « อีกครั้งคุณสามารถใช้คำสั่งเช่น "sc.next ()" หรือ "sc.hasNext ()" เพื่ออ่านข้อมูลจากไฟล์ มันทำงานได้ดีมากในขณะที่วนรอบ อย่าลืมปิดไฟล์ด้วย "sc.close ();" ที่ท้าย
- เพื่อให้สามารถเขียนไฟล์คุณต้องเพิ่มคำสั่ง "import java.util.Formatter;" ลงในโค้ดของคุณก่อน คำสั่ง»ฟอร์แมตเตอร์ f = ใหม่ฟอร์แมตเตอร์ ("C: \\ CHIP \\ test.txt") ตอนนี้«สร้างไฟล์ชื่อ "test.txt" ที่เส้นทางที่ระบุ
- เพื่อให้สามารถเขียนไฟล์คุณสามารถใช้คำสั่ง» f.format ("% s% s% s, " 1 ", " Max ", " Mustermann \ r \ n "); « % s "สำหรับสตริงที่ถูกแทนที่ด้วยพารามิเตอร์แรก"% s "ที่สองโดยพารามิเตอร์ที่สองเป็นต้นโปรแกรมจะข้ามไปยังบรรทัดถัดไปโดยกด" \ r \ n "
นี่คือที่ซึ่งชุดการสอนของเราในภาษาการเขียนโปรแกรม Java สิ้นสุดลง ในเคล็ดลับการปฏิบัติถัดไปเราจะให้คำแนะนำเกี่ยวกับการเขียนโปรแกรมด้วย Python