Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在javafx中对实例化的自定义arraylist进行排序_Java_List_Sorting_Javafx - Fatal编程技术网

如何在javafx中对实例化的自定义arraylist进行排序

如何在javafx中对实例化的自定义arraylist进行排序,java,list,sorting,javafx,Java,List,Sorting,Javafx,我正在努力学习编程,并开始使用javafx 我现在面临一个问题,这可能是由于我对java的知识和理解的差距造成的 到目前为止,我已经创建了一个类,如下所示 public class Sheet { private String material; private int DimX,DimY; private double quantity;; public Sheet(String _material,int _DimX,int _DimY,double _q

我正在努力学习编程,并开始使用javafx

我现在面临一个问题,这可能是由于我对java的知识和理解的差距造成的

到目前为止,我已经创建了一个类,如下所示

public class Sheet {

    private String material;
    private int DimX,DimY;
    private double quantity;;

    public Sheet(String _material,int _DimX,int _DimY,double _quantity){
        material = _material;
        DimX =_DimX;
        DimY =_DimY;
        quantity = _quantity ;
    }

    public String getMaterial(){return material;}
    public void setMaterial(String _material) {material = _material;}

    public int getDimX(){return DimX;}
    public void setDimX(int _DimX){DimX = _DimX;}

    public int getDimY(){return DimY;}
    public void setDimY(int _DimY){DimY = _DimY;}

    public double getQuantity(){return quantity;}
    public void setQuantity(double _quantity) {quantity = _quantity;}

}
arraylist是使用

List<Sheet> Sheet_list= new ArrayList<>();
我需要的是对这个arraylist进行排序,但我收到一个错误,该类不是抽象的,并且不重写抽象方法

是否有任何方法可以对由实例化的用户数据形成的、未以编程方式插入的arraylist进行排序


提前感谢

列表界面提供了方便的
排序()
方法,使用
比较器
。因此,您可以使
Sheet
类实现
Comparable
,然后将所有工作表对象添加到列表中,并在列表对象上调用
Collections.sort(list)
,或者使用
sort(Comparator)
version对列表进行排序

如果您希望经常使用按某种顺序打孔的方法,我将使用第一种方法


顺便说一句,我会从@jewelsea remark开始,从基础开始,然后转到JavaFX和更复杂的东西。

创建数组列表并尝试对其排序的代码在哪里?arraylist是使用list Sheet_list=new arraylist()创建的;并且条目以类似于Sheet_list.add的形式添加(新的Sheet(string_i,int_x,int_y,double_e));请使用创建列表的代码编辑您的问题,并将列表排序为一般建议我建议先学习编程,然后再学习JavaFX。不需要将学习编程的任务复杂化,同时也可以尝试学习复杂的GUI工具包。另外,在编写Java时,我建议坚持使用。可能是重复的,我已经阅读了comparable和comparator,并尝试使用它们,但我的问题是当我在上面的类上使用它时,例如:公共类表实现comparable,我得到“类不是抽象的,不重写抽象方法。”错误。我还尝试将数组投射到一个可观察列表,并可能对该列表进行排序,但没有效果。程序即将完成,这是我面临的最后一个障碍。您得到的错误信息很清楚-如果您让类实现
compariable
接口,您必须提供compareTo()方法的实现-阅读文档,了解更多关于Java和OOP的基础知识,这将帮助您更轻松地理解和解决此类问题。我将在接下来的几天内对此进行研究,当我对问题有了更完整的了解,可能会有一些新代码时,我将更新问题。谢谢大家
Sheet_list.add(new Sheet(string_i, int_x, int_y,double_e));