Full-stack Developer chuyên về Java Backend và JavaScript Frontend. Sẵn sàng đóng góp vào các dự án web development với kỹ năng vững chắc và tinh thần học hỏi không ngừng.
Mục lục
Mục lục
📦 Master Java Collections Framework - bộ công cụ mạnh mẽ nhất để quản lý data structures! Từ ArrayList, HashMap đến TreeSet, bạn sẽ biết khi nào dùng cái gì!
graph TB
A[Collection Interface] --> B[List]
A --> C[Set]
A --> D[Queue]
B --> E[ArrayList]
B --> F[LinkedList]
B --> G[Vector]
C --> H[HashSet]
C --> I[LinkedHashSet]
C --> J[TreeSet]
D --> K[PriorityQueue]
D --> F
L[Map Interface] --> M[HashMap]
L --> N[LinkedHashMap]
L --> O[TreeMap]
L --> P[Hashtable]
style A fill:#ff6b6b
style L fill:#4ecdc4
style E fill:#95e1d3
style M fill:#95e1d3
importjava.util.LinkedList;publicclassLinkedListExample{publicstaticvoidmain(String[]args){LinkedList<Integer>numbers=newLinkedList<>();// Add elementsnumbers.add(10);numbers.add(20);numbers.add(30);// Add at specific positionnumbers.addFirst(5);// Add at beginningnumbers.addLast(40);// Add at endnumbers.add(2,15);// Add at index 2System.out.println("LinkedList: "+numbers);// Get elementsintfirst=numbers.getFirst();intlast=numbers.getLast();System.out.println("First: "+first+", Last: "+last);// Remove elementsnumbers.removeFirst();// Remove firstnumbers.removeLast();// Remove lastSystem.out.println("After remove: "+numbers);}}
importjava.util.HashMap;importjava.util.Map;publicclassHashMapExample{publicstaticvoidmain(String[]args){// Khởi tạo HashMapMap<String,Integer>studentScores=newHashMap<>();// Put key-value pairsstudentScores.put("An",85);studentScores.put("Bình",90);studentScores.put("Cường",78);studentScores.put("Dũng",92);System.out.println("Student Scores: "+studentScores);// Get value by keyintscoreAn=studentScores.get("An");System.out.println("Điểm của An: "+scoreAn);// Update valuestudentScores.put("An",88);// Update existing keySystem.out.println("Điểm An sau khi update: "+studentScores.get("An"));// Check key existsbooleanhasBinh=studentScores.containsKey("Bình");System.out.println("Có Bình không? "+hasBinh);// Check value existsbooleanhasScore100=studentScores.containsValue(100);System.out.println("Có ai đạt 100 điểm? "+hasScore100);// RemovestudentScores.remove("Cường");System.out.println("After remove: "+studentScores);// Get or defaultintscoreE=studentScores.getOrDefault("E",0);System.out.println("Điểm của E (không tồn tại): "+scoreE);// SizeSystem.out.println("Số lượng sinh viên: "+studentScores.size());// Iterate through MapSystem.out.println("\n=== Duyệt qua HashMap ===");// 1. Iterate through keysSystem.out.println("--- Keys ---");for(Stringname:studentScores.keySet()){System.out.println(name);}// 2. Iterate through valuesSystem.out.println("--- Values ---");for(Integerscore:studentScores.values()){System.out.println(score);}// 3. Iterate through entriesSystem.out.println("--- Entries ---");for(Map.Entry<String,Integer>entry:studentScores.entrySet()){System.out.println(entry.getKey()+": "+entry.getValue());}// 4. forEach (Java 8+)System.out.println("--- forEach ---");studentScores.forEach((name,score)->{System.out.println(name+" => "+score);});}}
importjava.util.TreeMap;importjava.util.Map;publicclassTreeMapExample{publicstaticvoidmain(String[]args){Map<String,String>capitals=newTreeMap<>();capitals.put("Vietnam","Hà Nội");capitals.put("Japan","Tokyo");capitals.put("USA","Washington D.C.");capitals.put("France","Paris");// Automatically sorted by keySystem.out.println("Capitals (sorted by country):");capitals.forEach((country,capital)->{System.out.println(country+" -> "+capital);});// Output: France -> Paris// Japan -> Tokyo// USA -> Washington D.C.// Vietnam -> Hà Nội}}
importjava.util.*;classStudent{privateStringid;privateStringname;privatedoublegpa;publicStudent(Stringid,Stringname,doublegpa){this.id=id;this.name=name;this.gpa=gpa;}// GetterspublicStringgetId(){returnid;}publicStringgetName(){returnname;}publicdoublegetGpa(){returngpa;}@OverridepublicStringtoString(){returnString.format("%s - %s (GPA: %.2f)",id,name,gpa);}}publicclassStudentManagement{publicstaticvoidmain(String[]args){// List để lưu danh sách sinh viênList<Student>students=newArrayList<>();students.add(newStudent("SV001","Nguyễn Văn An",3.5));students.add(newStudent("SV002","Trần Thị Bình",3.8));students.add(newStudent("SV003","Lê Văn Cường",3.2));students.add(newStudent("SV004","Phạm Thị Dung",3.9));// Map để tra cứu nhanh sinh viên theo IDMap<String,Student>studentMap=newHashMap<>();for(Studentstudent:students){studentMap.put(student.getId(),student);}// Set để lưu danh sách môn học (không trùng)Set<String>subjects=newHashSet<>();subjects.add("Java Programming");subjects.add("Database");subjects.add("Web Development");subjects.add("Data Structures");// Hiển thị thông tinSystem.out.println("=== DANH SÁCH SINH VIÊN ===");students.forEach(System.out::println);System.out.println("\n=== TRA CỨU SINH VIÊN ===");Studentsv=studentMap.get("SV002");System.out.println("Tìm SV002: "+sv);System.out.println("\n=== DANH SÁCH MÔN HỌC ===");subjects.forEach(subject->System.out.println("- "+subject));// Sắp xếp sinh viên theo GPASystem.out.println("\n=== SINH VIÊN THEO GPA (GIẢM DẦN) ===");students.sort((s1,s2)->Double.compare(s2.getGpa(),s1.getGpa()));students.forEach(System.out::println);}}