Java 如何按特定字段按字母顺序对对象数组进行排序

Java 如何按特定字段按字母顺序对对象数组进行排序,java,arrays,sorting,alphabetical,Java,Arrays,Sorting,Alphabetical,我有一个包含许多字段的对象数组。我有一个包含构造函数、setter和getter的类。其中一个字段是name。我想按字母顺序排列数组中的所有名称并列出它们。有人能帮忙吗?这是用java编写的 谢谢您可以使用类似的界面进行操作。假设我们有一辆普通车,它可以是某个品牌(本例中的名称) 公共级轿车{ 私有字符串名称; 私有字符串颜色; /** *名字 */ 公共枚举名{ 菲亚特(“菲亚特”)、雷诺(“雷诺”)、本田(“本田”); 私有最终字符串名; 私有名称(最终字符串名称){ this.name=名

我有一个包含许多字段的对象数组。我有一个包含构造函数、setter和getter的类。其中一个字段是name。我想按字母顺序排列数组中的所有名称并列出它们。有人能帮忙吗?这是用java编写的


谢谢

您可以使用类似的界面进行操作。假设我们有一辆普通车,它可以是某个品牌(本例中的名称)

公共级轿车{
私有字符串名称;
私有字符串颜色;
/**
*名字
*/
公共枚举名{
菲亚特(“菲亚特”)、雷诺(“雷诺”)、本田(“本田”);
私有最终字符串名;
私有名称(最终字符串名称){
this.name=名称;
}
公共字符串toString(){
返回此.name;
}
}
/**
*颜色
*/
公共枚举颜色{
蓝色(“蓝色”)、红色(“红色”)、黄色(“黄色”);
私人最终字符串颜色;
专用颜色(最终字符串颜色){
这个颜色=颜色;
}
公共字符串toString(){
返回此.color;
}
}
/**
*用名称和颜色构造汽车
*@param name
*@param颜色
*/
公共汽车(名称、颜色){
this.name=name.toString();
this.color=color.toString();
}
/**
*返回名称
*@返回
*/
公共字符串getName(){
返回此.name;
}
/**
*与其他汽车相比
*/
@凌驾
公共内部比较(汽车2){
返回此.name.compareTo(car2.getName());
}
}
主要问题是:

import java.util.Arrays;

public class Main {

    //private static List<Car> cars = new ArrayList<Car>();
    private static Car[] cars = new Car[3];

    /**
     * @param args
     */
    public static void main(String[] args) {

        System.out.println("Create cars in array");
        cars[0] = new Car(Car.Name.RENAULT, Car.Colors.YELLOW);
        cars[1] = new Car(Car.Name.HONDA, Car.Colors.BLUE);
        cars[2] = new Car(Car.Name.FIAT, Car.Colors.RED);

//      System.out.println("Create cars in arraylist");     
//      cars.add(new Car(Car.Name.RENAULT, Car.Colors.YELLOW));
//      cars.add(new Car(Car.Name.HONDA, Car.Colors.BLUE));
//      cars.add(new Car(Car.Name.FIAT, Car.Colors.RED));

        System.out.println("Print cars");
        for (Car car : cars) {
            System.out.println("Car name: "+car.getName());
        }

        // sort cars, see Car class
        Arrays.sort(cars);

        System.out.println("Print cars after sort");
        for (Car car : cars) {
            System.out.println("Car name: "+car.getName());
        }
    }
}
导入java.util.array;
公共班机{
//私有静态列表cars=new ArrayList();
私家车[]辆=新车[3];
/**
*@param args
*/
公共静态void main(字符串[]args){
System.out.println(“在数组中创建汽车”);
cars[0]=新车(Car.Name.RENAULT,Car.Colors.YELLOW);
cars[1]=新车(Car.Name.HONDA,Car.Colors.BLUE);
汽车[2]=新车(Car.Name.FIAT,Car.Colors.RED);
//System.out.println(“在arraylist中创建汽车”);
//添加(新车(Car.Name.RENAULT,Car.Colors.YELLOW));
//添加(新车(Car.Name.HONDA,Car.Colors.BLUE));
//添加(新车(Car.Name.FIAT,Car.Colors.RED));
系统输出打印项次(“打印车”);
用于(汽车:汽车){
System.out.println(“车名:+Car.getName());
}
//对车辆进行分类,请参见车辆类别
数组。排序(cars);
System.out.println(“分拣后打印车辆”);
用于(汽车:汽车){
System.out.println(“车名:+Car.getName());
}
}
}

有关输出,请参见控制台。

可能。用什么语言?我们谈论的是什么类型的对象?首先:你用什么语言编码?第二:用你的尝试发布一些代码。这样我们可以帮助你。你想用多少种不同的语言和多少种可能的数组/对象来回答…?如果缺少一种语言,通常是Java…当然,在排序数组方面有很多问题已经得到了回答。怎么样?我不明白,我的对象存储在数组中:movies[]movieArr=newmovies[0];
import java.util.Arrays;

public class Main {

    //private static List<Car> cars = new ArrayList<Car>();
    private static Car[] cars = new Car[3];

    /**
     * @param args
     */
    public static void main(String[] args) {

        System.out.println("Create cars in array");
        cars[0] = new Car(Car.Name.RENAULT, Car.Colors.YELLOW);
        cars[1] = new Car(Car.Name.HONDA, Car.Colors.BLUE);
        cars[2] = new Car(Car.Name.FIAT, Car.Colors.RED);

//      System.out.println("Create cars in arraylist");     
//      cars.add(new Car(Car.Name.RENAULT, Car.Colors.YELLOW));
//      cars.add(new Car(Car.Name.HONDA, Car.Colors.BLUE));
//      cars.add(new Car(Car.Name.FIAT, Car.Colors.RED));

        System.out.println("Print cars");
        for (Car car : cars) {
            System.out.println("Car name: "+car.getName());
        }

        // sort cars, see Car class
        Arrays.sort(cars);

        System.out.println("Print cars after sort");
        for (Car car : cars) {
            System.out.println("Car name: "+car.getName());
        }
    }
}