Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java
Java
  1. Java Program เรียงลำดับ Map ตาม Value (Sort Map by Values)

    การเรียงลำดับ Map ตาม Value HashMap ไม่รักษาลำดับ (Unordered) เพื่อเรียงตาม Value ต้องแปลงเป็น List ของ Entries เรียง แล้วสร้าง Map ใหม่ที่รักษาลำดับ (LinkedHashMap) ขั้นตอน แปลง entrySet() เป็น List<Map.Entry> เรียง List ด้วย Comparator เปรียบเทียบ Value สร้าง LinkedHashMap ใหม่ ใส่ Entry ต

  2. Java Program Inorder Tree Traversal (การเดินทาง In-order)

    Tree Traversal คืออะไร? การเยี่ยมชม (Visit) ทุก Node ใน Tree ตามลำดับที่กำหนด มี 3 แบบหลักสำหรับ Binary Tree: Traversal ลำดับ ใช้สำหรับ Inorder (LNR) Left → Node → Right BST: เรียงค่าจากน้อยไปมาก, Expression Tree Preorder (NLR) Node → Left → Right Copy Tree, Prefix Expression Postorder (

  3. Java Program เรียงลำดับ ArrayList ของ Custom Objects ตาม Property

    การเรียงลำดับ Custom Objects ใน ArrayList เมื่อมี List ของ Object ต้องการเรียงตาม Property เฉพาะ (เช่น เรียงชื่อ A-Z, เรียงอายุ น้อยไปมาก) ใช้ Comparator หรือ Comparable 2 วิธีหลัก 1. Comparable Interface (Natural Ordering) - ใน Class เอง public class Student implements Comparable { String nam

  4. Java Program Implement Graph Data Structure (Adjacency List)

    Graph Data Structure คืออะไร? Graph ประกอบด้วย Vertices (Nodes) และ Edges (Connections) ใช้แทนความสัมพันธ์ระหว่างวัตถุ ประเภท Graph Directed (Digraph) - Edge มีทิศทาง (A → B) Undirected - Edge ไม่มีทิศทาง (A ↔ B) Weighted - Edge มีน้ำหนัก/ค่าใช้จ่าย Unweighted - Edge ไม่มีน้ำหนัก Graph Represent

  5. Java Program Implement LinkedList (Singly Linked List)

    Linked List คืออะไร? Linked List เป็นโครงสร้างข้อมูล Linear ประกอบด้วย Nodes ที่เชื่อมต่อกันผ่าน Reference/Pointer แต่ละ Node มี: Data - ข้อมูลที่เก็บ Next - Reference ไป Node ถัดไป แตกต่างจาก Array: ไม่ต้องการหน่วยความจำติดกัน, ขนาดไดนามิก, Insert/Delete ที่กลาง O(1) (ถ้ามี Reference) Node Clas

  6. Java Program Implement Queue Data Structure (FIFO)

    Queue (คิว) คืออะไร? Queue เป็นโครงสร้างข้อมูลแบบ Linear ที่ปฏิบัติตามหลัก FIFO (First In First Out) - ตัวแรกเข้า ตัวแรกออก เหมือนคิวจริง: คนมาก่อน ได้รับบริการก่อน Interface และ Implementation ใน Java Interface/Class คำอธิบาย Thread-Safe Queue<E> Interface หลัก - LinkedList<E>

  7. Java Program หา Element กลางของ LinkedList ในรอบเดียว (Single Pass)

    ปัญหา: หา Node กลางของ LinkedList LinkedList ไม่มี Random Access (ไม่มี get(index) O(1)) วิธีธรรมดาคือ นับจำนวน Node ก่อน (1 pass) แล้วเดินไปครึ่งหนึ่ง (อีก 1 pass) = 2 Passes Two Pointer Technique (Slow & Fast Pointers) ทำได้ใน 1 Pass O(n) Time, O(1) Space อัลกอริทึม Two Pointers (Tortoise & Hare

  8. Java Program แปลง LinkedList ↔ Array

    LinkedList ↔ Array Conversion LinkedList<E> และ Array สามารถแปลงกันได้ 2 ทิศทาง กรณีที่ 1: LinkedList → Array 1. toArray() - ไม่มี Argument (คืน Object[]) LinkedList list = new LinkedList<>(Arrays.asList(A, B, C)); Object[] objArray = list.toArray(); // Object[] - ต้อง Cast 2. toArray(T[] a

  9. Java Program แปลง ArrayList เป็น String และกลับกัน

    การแปลง ArrayList ↔ String มี 2 กรณีหลัก: (1) ArrayList → String (2) String → ArrayList/Array กรณีที่ 1: ArrayList → String 1. toString() - Built-in (รูปแบบ [a, b, c]) ArrayList list = new ArrayList<>(Arrays.asList(Java, Python, Scala)); String str = list.toString(); // [Java, Python, Scala] 2. S

  10. Java Program วนลูป (Iterate) ผ่าน HashMap

    Iteration over HashMap ใน Java HashMap<K, V> เก็บคู่ Key-Value การ Iterate สามารถทำได้หลายวิธี ขึ้นกับว่าต้องการ Key, Value, หรือทั้งคู่ ตัวอย่างที่ 1: ใน main โดยตรง import java.util.HashMap; import java.util.Map.Entry; public class Demo { public static void main(String[] args) {

  11. Java Program วนลูป (Iterate) ผ่าน Set

    Iteration over Set ใน Java Set เป็น Collection ที่ไม่มีค่าซ้ำ และไม่มีลำดับที่รับประกัน (ยกเว้น LinkedHashSet/TreeSet) การ Iterate ทำได้หลายวิธี ตัวอย่างที่ 1: for-each Loop (Enhanced For Loop) import java.util.Set; import java.util.HashSet; public class Demo { public static void main(String[]

  12. Java Program อัปเดตค่าใน HashMap โดยใช้ Key

    การอัปเดตค่าใน HashMap HashMap<K, V> ใช้ put(key, value) สำหรับทั้ง เพิ่มใหม่ และ อัปเดตค่าที่มีอยู่ - หาก Key มีอยู่แล้ว จะแทนที่ค่าเก่า ขั้นตอนการอัปเดต ดึงค่าเก่าด้วย get(key) คำนวณ/เปลี่ยนแปลงค่า put กลับด้วย Key เดียวกัน ตัวอย่างที่ 1: ใน main โดยตรง import java.util.HashMap; public

  13. Java Program ลบสมาชิกซ้ำใน ArrayList (Remove Duplicates)

    การลบ Duplicate จาก ArrayList ArrayList อนุญาตค่าซ้ำได้ วิธีง่ายที่สุดคือแปลงเป็น Set (ซึ่งไม่อนุญาต duplicate) แล้วคืนกลับเป็น List หลักการ: ใช้ LinkedHashSet HashSet - ไม่รักษาลำดับ LinkedHashSet - รักษาลำดับการ Insert (Insertion Order) ⭐ แนะนำ TreeSet - เรียงลำดับ (Sorted) ตัวอย่างที่ 1: ใน m

  14. Java Program หา Key จาก HashMap โดยใช้ Value (Reverse Lookup)

    ปัญหา: หา Key จาก Value ใน HashMap HashMap<K, V> ออกแบบมาสำหรับค้นหา Value จาก Key (O(1)) แต่ไม่มีเมธอด built-in สำหรับหา Key จาก Value เพราะ Value อาจซ้ำได้ (Non-unique) วิธีการ: Iterate + Compare ต้องวนลูปผ่าน entrySet() เปรียบเทียบ Value แต่ละคู่กับค่าที่ต้องการ ตัวอย่างที่ 1: ใน main โดย

  15. Java Program ตรวจจับ Loop ใน LinkedList (Cycle Detection)

    Loop ใน LinkedList คืออะไร? Loop (Cycle) ใน Linked List เกิดขึ้นเมื่อ Node สุดท้าย (หรือ Node กลาง) ชี้กลับไปยัง Node ก่อนหน้า ทำให้เกิดวงจรปิด (Cycle) การ Traverse ปกติจะติด Infinite Loop อัลกอริทึมการตรวจจับ Loop วิธีที่ 1: HashSet (เก็บ Node ที่ผ่านมา) Time: O(n), Space: O(n) สร้าง HashSet เก็

  16. Java Program คำนวณ Union ของเซตสองเซต (Set Union)

    Union ของเซต (Set Union) คืออะไร? Union ของเซตสองเซต (A ∪ B) คือเซตที่ประกอบด้วยสมาชิกทั้งหมดที่อยู่ในเซต A หรือ เซต B (หรือทั้งคู่) โดยไม่มีค่าซ้ำ (Set ไม่อนุญาต duplicate) ใน Java ใช้ java.util.Set interface และ implementation อย่าง HashSet ซึ่งไม่อนุญาตค่าซ้ำโดยอัตโนมัติ อัลกอริทึม สร้างเซตแรก

  17. Java Program: คำนวณ Intersection ของสอง Set

    ในบทความนี้ เราจะเข้าใจวิธีคำนวณ Intersection ของสอง Set Set คือ Collection ที่ไม่สามารถมี duplicate elements ได้ มันเป็นแบบจำลองของ mathematical set abstraction อินเตอร์เฟซ Set มีเฉพาะเมธอดที่สืบทอดจาก Collection และเพิ่มข้อจำกัดว่าห้ามมี duplicate elements ด้านล่างเป็นการสาธิต: สมมติอินพุตคือ Fir

  18. Java Program: คำนวณความต่างระหว่างสอง Set

    ในบทความนี้ เราจะเข้าใจวิธีคำนวณความต่างระหว่างสอง Set Set คือ Collection ที่ไม่สามารถมี duplicate elements ได้ มันเป็นแบบจำลองของ mathematical set abstraction อินเตอร์เฟซ Set มีเฉพาะเมธอดที่สืบทอดจาก Collection และเพิ่มข้อจำกัดว่าห้ามมี duplicate elements ด้านล่างเป็นการสาธิต: สมมติอินพุตคือ First

  19. Java Program: ตรวจสอบว่า Set หนึ่งเป็น Subset ของอีก Set หนึ่ง

    ในบทความนี้ เราจะเข้าใจวิธีตรวจสอบว่า Set หนึ่งเป็น Subset ของอีก Set หนึ่ง Set คือ Collection ที่ไม่สามารถมี duplicate elements ได้ มันเป็นแบบจำลองของ mathematical set abstraction อินเตอร์เฟซ Set มีเฉพาะเมธอดที่สืบทอดจาก Collection และเพิ่มข้อจำกัดว่าห้ามมี duplicate elements ด้านล่างเป็นการสาธิต:

  20. Java Program: เรียงลำดับ Map ตาม Key

    ในบทความนี้ เราจะเข้าใจวิธีเรียงลำดับ Map ตาม Key อินเตอร์เฟซ Java Map (java.util.Map) แทนการแมปปิ้งระหว่าง key และ value โดยเฉพาะ Java Map สามารถเก็บคู่ของ key และ value ได้ แต่ละ key เชื่อมโยงกับ value เฉพาะ ด้านล่างเป็นการสาธิต: สมมติอินพุตคือ Input map: {1=Scala, 2=Python, 3=Java} เอาต์พุตที่ต้

Total 1935 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:94/97  20-คอมพิวเตอร์/Page Goto:1 88 89 90 91 92 93 94 95 96 97