Modul - 05 - Arrylist Gui More Windows
Modul - 05 - Arrylist Gui More Windows
Pemrogramam
Berorientasi Object
Method, GUI,
Convert/Casting Tipe data
dan Arraylist
Abstract Kompetensi
Modul ini membahas tentang Mahasiswa memahami dan dapat
method, membuat user interface, menjelaskan tentang method, dapat
dan arraylist menggunakan GUI java, memahami
convert/casting tipe data dan
memahami array dan arraylist pada
java
Pendahuluan
Banyak kali kita perlu mengurutkan daftar objek array berdasarkan bidang atau abjad,
terutama jika Anda bekerja pada domain di mana orang adalah entitas utama Anda (mis.
SDM), Anda akan lebih sering menemukan persyaratan ini. Ada banyak cara untuk
mengurutkan daftar tersebut, yang berkisar dari pengurutan pada UI klien menggunakan
javascript untuk mengurutkan daftar objek di sisi server menggunakan algoritma yang
kompleks, dan kadang-kadang juga dalam database.
Mari kita lihat bagaimana tampilan class Employee kita setelah mengimplementasikan
Comparable interface.
Employee.java
package corejava.compare;
Cara default untuk mengurutkan daftar Employee, dalam kasus kami, adalah dengan id mereka.
Apa pun, urutan penyortiran default Anda adalah, gunakan metode compare ().
Dalam metode compare () yang diterapkan, kami hanya mengembalikan perbedaan id Employee
dari dua contoh. Dua id Employee yang sama akan mengembalikan nol, menunjukkan objek yang
sama.
Collections.sort()
Mari kita coba metode compare() yang diterapkan di kelas Employee di atas.
package corejava.compare.umb;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class TestSorting {
public static void main(String[] args) {
Employee e1 = new Employee(1, "aTestName", "dLastName", 34);
Employee e2 = new Employee(2, "nTestName", "pLastName", 30);
Dalam program di atas, pernyataan cetak pertama mencetak daftar Employee yang tidak disortir
dan dalam pernyataan cetak kedua, Employee diurutkan berdasarkan id Employee mereka.
Console
//Unsorted
[Employee : 2 - nTestName - pLastName - 30
, Employee : 3 - kTestName - sLastName - 31
, Employee : 1 - aTestName - dLastName - 34
, Employee : 4 - dTestName - zLastName - 25]
//Sorted
[Employee : 1 - aTestName - dLastName - 34
, Employee : 2 - nTestName - pLastName - 30
, Employee : 3 - kTestName - sLastName - 31
, Employee : 4 - dTestName - zLastName - 25]
Jadi, sekarang kita bisa mengurutkan daftar Employee berdasarkan id mereka. Sekarang mari
kita pertimbangkan kasus di mana kita ingin mengurutkan daftar Employee berdasarkan
beberapa input pengguna yang pada dasarnya adalah bidang pengurutan yaitu kadang-kadang
dia ingin mengurutkan berdasarkan nama depan, kadang-kadang juga mengurutkan
berdasarkan usia.
Ini dapat dicapai dengan plugin jquery dengan mudah, tetapi bagaimana jika browser telah
menonaktifkan javascript. Anda harus mengurutkan daftar di sisi server saja untuk tidak
merusak fungsi aplikasi.
Kami telah menentukan beberapa implementasi untuk kasus pemilahan yang berbeda. Mari kita
tuliskan.
FirstNameSorter.java
package corejava.compare;
import java.util.Comparator;
@Override
public int compare(Employee o1, Employee o2) {
return o1.getFirstName().compareTo(o2.getFirstName());
}}
LastNameSorter.java
package corejava.compare;
import java.util.Comparator;
public class LastNameSorter implements Comparator<Employee> {
@Override
public int compare(Employee o1, Employee o2) {
return o1.getLastName().compareTo(o2.getLastName());
}
}
import java.util.Comparator;
public class AgeSorter implements Comparator<Employee> {
@Override
public int compare(Employee o1, Employee o2) {
return o1.getAge() - o2.getAge();
}
}
Jadi secara teoritis, kita harus dapat menyortir bidang apa saja sesuai keinginan kita dengan
kode minimum. Mari kita lihat apakah kita benar-benar:
package corejava.compare.umb;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class TestSorting
{
public static void main(String[] args)
Output:
//Unsorted
//Default sorting based on employee id
[Employee : 1 - aTestName - dLastName - 34
, Employee : 2 - nTestName - pLastName - 30
, Employee : 3 - kTestName - sLastName - 31
, Employee : 4 - dTestName - zLastName - 25]
//Sorted by first name
[Employee : 1 - aTestName - dLastName - 34
, Employee : 4 - dTestName - zLastName - 25
, Employee : 3 - kTestName - sLastName - 31
, Employee : 2 - nTestName - pLastName - 30]
//Sorted by last name
[Employee : 1 - aTestName - dLastName - 34
, Employee : 2 - nTestName - pLastName - 30
, Employee : 3 - kTestName - sLastName - 31
, Employee : 4 - dTestName - zLastName - 25]
//Sorted by age
[Employee : 4 - dTestName - zLastName - 25
, Employee : 2 - nTestName - pLastName - 30
, Employee : 3 - kTestName - sLastName - 31
, Employee : 1 - aTestName - dLastName - 34]
https://alvinalexander.com/java/edu/qanda/pjqa00010.shtml
https://netbeans.org/kb/docs/java/gui-functionality.html
https://www.petanikode.com/java-prosedur-dan-fungsi/