按属性对自定义对象的 ArrayList 进行排序的Java程序
在这里,我们将看看使用属性对自定义对象的 ArrayList 进行排序的方法。
方法:
1. 创建一个 getter函数,它返回存储在类变量中的值。
2. 创建一个列表并使用 sort()函数,该函数将列表的值作为参数并将它们与compareTo()方法进行比较。
3. 如果第一个参数的属性大于第二个参数,则此函数将返回一个正数,如果小于则返回负数,如果它们相等则返回零。
执行
Java
// Java Program to Sort ArrayList of Custom Objects By
// Property
import java.util.*;
public class Main {
private String value;
public Main(String val) { this.value = val; }
// Defining a getter method
public String getValue() { return this.value; }
// list of Main objects
static ArrayList list = new ArrayList<>();
public static void sortList(int length)
{
// Sorting the list using lambda function
list.sort(
(a, b) -> a.getValue().compareTo(b.getValue()));
System.out.println("Sorted List : ");
// Printing the sorted List
for (Main obj : list) {
System.out.println(obj.getValue());
}
}
public static void main(String[] args)
{
// take input
Scanner sc = new Scanner(System.in);
System.out.print(
"How many characters you want to enter : ");
int l = sc.nextInt();
// Taking value of list as input
for (int i = 0; i < l; i++) {
list.add(new Main(sc.next()));
}
sortList();
}
}
输出