Bài 36: Sắp Xếp Các đối Tượng Trong ArrayList - Developer Softwares

  • twitter
  • facebook
  • google
  • rss
  • linkedin
  • dribbble
  • pinterest
Menu Search Home » học java » Java » Java co ban » java core » lap trinh java » lap trinh java core » Bài 36: Sắp xếp các đối tượng trong ArrayList Bài 36: Sắp xếp các đối tượng trong ArrayList java-logo **Trong thực tế khi lập trình, công việc sắp xếp 1 danh sách các đối tượng phải áp dụng rất nhiều. Ví dụ:- Sắp xếp họ tên theo thứ tự a, b, c.- Sắp xếp danh sách kết quả thi theo thứ tự từ cao xuống thấp.- Sắp xếp tài liệu theo thứ tự mới trước, cũ sau.- ..v.v..- Việc sắp xếp một các đối tượng trong 1 ArrayList có thể có nhiều cách. Các bạn có thể áp dụng các phương pháp cơ bản, hoán đổi vị trí khi so sánh giống như việc sắp xếp các phần tử trong mảng đã dùng. Tuy nhiên, ở bài này mình sẽ giới thiệu 1 cách sắp xếp cực ngắn gọn, Java đã hỗ trợ sẵn, đó là phương thức sắp xếp Collection.sort.- Mình sẽ nêu một vài ví dụ cụ thể để các bạn cùng tìm hiểu!Ở các ví dụ này, các thuộc tính đối tượng mình để public cho ngắn gọn, chúng ta tập trung vào đoạn sắp xếp!Ví dụ 1: Sắp xếp một danh sách các đối tượng sinh viên có 2 thuộc tính họ tên và điểm thi.Các bạn chú ý đoạn này: PHP: //Sắp xếp danh sách theo theo số điểm giảm dần! Collections.sort(danhSach, new Comparator<SinhVien>() { @Override public int compare(SinhVien sv1, SinhVien sv2) { if (sv1.diem < sv2.diem) { return 1; } else { if (sv1.diem == sv2.diem) { return 0; } else { return -1; } } } }); - Trên là cách sử dụng phương thức Collections.sort với danhSach là một đối tượng ArrayList, bên trong chứa danh sách các đối tượng SinhVien- Phương thức public int compare(SinhVien sv1, SinhVien sv2) trả về kiểu giá trị nguyên. Đoạn code trên là giúp sắp xếp theo thứ tự giảm dần của số điểm từng đối tượng sinh viên. Nếu bạn muốn sắp xếp tăng dần thì đổi chỗ 1-1 cho nhau là được! PHP: Collections.sort(danhSach, new Comparator<SinhVien>() { @Override public int compare(SinhVien sv1, SinhVien sv2) { if (sv1.diem < sv2.diem) { return -1; } else { if (sv1.diem == sv2.diem) { return 0; } else { return 1; } } } }); Toàn bộ code chương trình như sau: PHP: package javaandroidvn; import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.Scanner;class SinhVien { public String hoTen; public int diem;}public class JavaAndroidVn { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("Nhập số sinh viên: "); int n = input.nextInt(); ArrayList<SinhVien> danhSach = new ArrayList(); for (int i = 0; i < n; i++) { input.nextLine(); SinhVien x = new SinhVien(); System.out.println("Thông tin sinh viên thứ " + i); System.out.print("Họ và Tên: "); x.hoTen = input.nextLine(); System.out.print("Điểm: "); x.diem = input.nextInt(); danhSach.add(x); } //Sắp xếp danh sách theo số điểm giảm dần! Collections.sort(danhSach, new Comparator<SinhVien>() { @Override public int compare(SinhVien sv1, SinhVien sv2) { if (sv1.diem < sv2.diem) { return 1; } else { if (sv1.diem == sv2.diem) { return 0; } else { return -1; } } } }); System.out.println("Danh sách sắp xếp theo thứ tự điểm giảm dần là: "); for (int i = 0; i < danhSach.size(); i++) { System.out.println("Tên: " + danhSach.get(i).hoTen + " Điểm: " + danhSach.get(i).diem); } }} Ví dụ 2: Sắp xếp danh sách các đối tượng theo thứ tự trong bảng chữ cái! a b c PHP: package javaandroidvn; import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.Scanner;class SinhVien { public String hoTen; public int diem;}public class JavaAndroidVn { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("Nhập số sinh viên: "); int n = input.nextInt(); ArrayList<SinhVien> danhSach = new ArrayList(); for (int i = 0; i < n; i++) { input.nextLine(); SinhVien x = new SinhVien(); System.out.println("Thông tin sinh viên thứ " + i); System.out.print("Họ và Tên: "); x.hoTen = input.nextLine(); System.out.print("Điểm: "); x.diem = input.nextInt(); danhSach.add(x); } //Sắp xếp danh sách theo theo thứ tự a b c! Collections.sort(danhSach, new Comparator<SinhVien>() { @Override public int compare(SinhVien sv1, SinhVien sv2) { return (sv1.hoTen.compareTo(sv2.hoTen)); // Muốn đảo danh sách các bạn đối thành //return (sv2.hoTen.compareTo(sv1.hoTen)); } }); System.out.println("Danh sách sắp xếp theo tên trong bảng chữ cái a - b - c: "); for (int i = 0; i < danhSach.size(); i++) { System.out.println("Tên: " + danhSach.get(i).hoTen + " Điểm: " + danhSach.get(i).diem); } }} [IMG] Bài tập về nhà::D- Nhập dữ liệu danh sách nhân viên trong công ty. Các phần tử trong danh sách có các thuộc tính họ tên, năm sinh, lương. Các thuộc tính để private.- Viết chương trình nhập dữ liệu từ bàn phím thông tin số nhân viên, thông tin từng nhân viên. Cuối chương trình có menu chọn.+ Nếu ấn 1 thì sắp xếp theo thứ tự tên a, b, c. In danh sách ra màn hình.+ Nếu ấn 2 thì sắp xếp theo mức lương giảm dần từ người cao xuống người thấp. In danh sách ra màn hình. Được đăng bởi itvovantien Nhãn: học java, Java, Java co ban, java core, lap trinh java, lap trinh java core vào lúc 12:15:00 AM
Next
Newer Post
Previous
Older Post

1 blogger-facebook:

  1. UnknownOctober 10, 2019 at 5:20 AM

    :-(

    ReplyDeleteReplies
      Reply
Add commentLoad more... Subscribe to: Post Comments (Atom)

Translate

Like Facebook

Like Facebook

Bài đăng phổ biến

  • Bài 35: ArrayList trong Java (2)
  • Bài 15: Phương thức setter và getter trong Java
  • Bài 36: Sắp xếp các đối tượng trong ArrayList
  • Bài 14: Phương thức (method) trong Java
  • Bài 16: Tính kế thừa (inheritance) trong Java
  • Bài 34: ArrayList trong Java (1)
  • Bài 37: HashMap trong Java
  • Bài 21: Final class, abstract class và interface trong Java
  • Bài 24: String và một số phương thức của lớp String trong Java
  • Bài 13: Class trong Java (tiếp)

Commnent

Labels

  • Adminstrator
  • Adsense
  • Android
  • backlink
  • blog
  • C++
  • Cá nhân
  • chinh sua hinh anh
  • Code
  • công cụ
  • công cụ code
  • cpc
  • Demo
  • Design
  • designer
  • designer viet nam
  • Developer Android Example
  • developer c++
  • Điểm
  • Example
  • free tai lieu
  • Game C/C++
  • GialapMac
  • Góc Học Tập
  • Google
  • Google Adsense
  • hinh anh
  • học android
  • học java
  • HoclaptrinhiOS
  • IDE
  • Java
  • Java co ban
  • java core
  • kiếm tiền online
  • Kiếm tiền online Youtube
  • lap trinh c++
  • lap trinh java
  • lap trinh java core
  • lap trinh thpt
  • LaptrinhiOS
  • Lien he
  • Mac
  • MacOX
  • miễn phí tài liệu
  • MMO
  • Object-C
  • Pascal
  • Phần Mềm
  • Photoshop
  • PHP
  • pr
  • pr6
  • Profile
  • rút tiền adssense
  • seo
  • Share Acc Vip
  • tải tài liệu miễn phí
  • Tai tailieu.vn free
  • tailieu.vn
  • tăng view
  • thanh toan adsense
  • thanh toán adsense
  • Thông tin cá nhân
  • thpt
  • Thu thuat
  • Thủ Thuật
  • thu thuat c++
  • Thu thuat cho windows
  • Thu thuat windows
  • thu thuat youtube
  • Tin Tức
  • Video C++
  • vietdesigner
  • view tăng
  • website
  • windows
  • windows 8
  • windows 8.1
  • youtube

Google Analytics

BackLinks

  • Van Tien
  • itvovantien.com

Contact Form

Name Email * Message *   Top

Từ khóa » Hàm Sắp Xếp Tên Java