Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/371.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
Java 如何比较存储在ArrayList中的对象属性?_Java_Android_Arraylist_Compare - Fatal编程技术网

Java 如何比较存储在ArrayList中的对象属性?

Java 如何比较存储在ArrayList中的对象属性?,java,android,arraylist,compare,Java,Android,Arraylist,Compare,我创建了一个方法,将一些对象保存在mainActivity的ArrayList中。 保存哪些对象是通过变量“category”控制的 完成后,我想将ObjectsDEGR属性“box”与数字1、2和3进行比较,并据此将对象划分为3个新的ArrayList 1)如何仅比较对象属性“box”?我仅通过ArrayList中的索引获取对象,但目的不是将整个对象与数字进行比较。 mainActivity中的相关方法: private void writeToArrayList(int categor

我创建了一个方法,将一些对象保存在mainActivity的ArrayList中。 保存哪些对象是通过变量“category”控制的

完成后,我想将ObjectsDEGR属性“box”与数字1、2和3进行比较,并据此将对象划分为3个新的ArrayList

1)如何仅比较对象属性“box”?我仅通过ArrayList中的索引获取对象,但目的不是将整个对象与数字进行比较。

mainActivity中的相关方法:

   private void writeToArrayList(int category){

            ArrayList<ObjektsDEGR> catchAllBoxes = new ArrayList<>();

        for (int j = ((category-1)*nV); j < nV+((category-1)*nV); j++) {

                catchAllBoxes.add(basicDEGR[j]);
            }

            ArrayList<ObjektsDEGR> box1Filtered = new ArrayList<>();
            ArrayList<ObjektsDEGR> box2Filtered = new ArrayList<>();
            ArrayList<ObjektsDEGR> box3Filtered = new ArrayList<>();

            for (int j = ((category-1)*nV); j < nV+((category-1)*nV); j++){

            if (catchAllBoxes.get(j).equals(1)) {
                box1Filtered.add(catchAllBoxes.get(j));
            }
                else if (catchAllBoxes.get(j).equals(2)) {
                    box2Filtered.add(catchAllBoxes.get(j));
                }
                else if (catchAllBoxes.get(j).equals(3)) {
                    box3Filtered.add(catchAllBoxes.get(j));
                }
                else {
                    box3Filtered.add(catchAllBoxes.get(j));
                }
                }
            }

您可以尝试实现类似的接口:


public class ObjektsDEGR implements Serializable, Comparable<ObjektsDEGR>{


嘿,谢谢你的建议。通过使用这个接口,我能够为这个问题创建一个解决方案。

public class ObjektsDEGR implements Serializable, Comparable<ObjektsDEGR>{


    @Override
    public int compareTo(ObjektsDEGR o) {
        
        if(this.getBox() < o.getBox()) {
            return -1;
        }else if(this.getBox() > o.getBox()) {
            return 1;
        }else{
            return 0;
        }
    }

    
   Collections.sort(box1Filtered);