一念花开~

导航

 

 

对象集合差集 https://blog.csdn.net/qq_38584967/article/details/89603258

    //两个 去重
    public ArrayList<HouseFloorRoom> deleteOneDistinct(List<HouseFloorRoom> distinct,List<HouseFloorRoom> distinct2) {
        ArrayList<HouseFloorRoom> houseFloorRooms = new ArrayList<>();
        for (int i = 0; i < distinct.size(); i++) {
            HouseFloorRoom houseFloorRoom = distinct.get(0);
            String houseFloor = houseFloorRoom.getHouseFloor();
            String houseElement = houseFloorRoom.getHouseElement();
            String houseRoom = houseFloorRoom.getHouseRoom();
            for (int j = i+1; j < distinct2.size(); j++) {
                HouseFloorRoom houseFloorRoom1 = distinct2.get(j);
                String houseFloor2 = houseFloorRoom1.getHouseFloor();
                String houseElement2 = houseFloorRoom1.getHouseElement();

                String houseRoom2 = houseFloorRoom1.getHouseRoom();
                if (houseFloor.equals(houseFloor2) && houseElement.equals(houseElement2) && houseRoom.equals(houseRoom2)) {
                    distinct.remove(i);
                    break ;
                }
            }
        }
        return houseFloorRooms;
    }
    //一个 去重
    private  List<HouseFloorRoom> removeDuplicateOutputField(List<HouseFloorRoom> list) {
        Set<HouseFloorRoom> set = new TreeSet<>(new Comparator<HouseFloorRoom>() {
            @Override
            public int compare(HouseFloorRoom o1, HouseFloorRoom o2) {


                int compareToResult = 0;//==0表示重复
                //根据需求添加StringUtils.equals(o1.getUserName(), o2.getUserName()) ;
                if(StringUtils.equals(o1.getHouseFloor(), o2.getHouseFloor()) &&
                        StringUtils.equals(o1.getHouseElement(), o2.getHouseElement())&&
                        StringUtils.equals(o1.getHouseRoom(), o2.getHouseRoom())){
                    compareToResult = 1;
                }
            /*System.out.println("o1 = [" + o1.getUserName() + "], o2 = [" +
                    o2.getUserName() + "]=" + compareToResult);*/
                return compareToResult;
            }
        });
        set.addAll(list);
        return new ArrayList<>(set); //去重后集合

    }
    //一个  查重
    public ArrayList<HouseFloorRoom> getOneDistinct(List<HouseFloorRoom> distinct) {
        ArrayList<HouseFloorRoom> houseFloorRooms = new ArrayList<>();
        for (int i = 0; i < distinct.size(); i++) {
            HouseFloorRoom houseFloorRoom = distinct.get(0);
            String houseFloor = houseFloorRoom.getHouseFloor();
            String houseElement = houseFloorRoom.getHouseElement();
            String houseRoom = houseFloorRoom.getHouseRoom();
            for (int j = i+1; j < distinct.size(); j++) {
                HouseFloorRoom houseFloorRoom1 = distinct.get(j);
                String houseFloor2 = houseFloorRoom1.getHouseFloor();
                String houseElement2 = houseFloorRoom1.getHouseElement();

                String houseRoom2 = houseFloorRoom1.getHouseRoom();
                if (houseFloor.equals(houseFloor2) && houseElement.equals(houseElement2) && houseRoom.equals(houseRoom2)) {
                    houseFloorRooms.add(houseFloorRoom);
                }
            }
        }
        return houseFloorRooms;
    }
    //两个 查重
    public ArrayList<HouseFloorRoom> getDistinct(List<HouseFloorRoom> distinct1, List<HouseFloorRoom> distinct2) {
        ArrayList<HouseFloorRoom> houseFloorRooms = new ArrayList<>();
        for (int i = 0; i < distinct1.size(); i++) {
            HouseFloorRoom houseFloorRoom = distinct1.get(0);
            String houseFloor = houseFloorRoom.getHouseFloor();
            String houseElement = houseFloorRoom.getHouseElement();
            String houseRoom = houseFloorRoom.getHouseRoom();
            for (int j = 0; j < distinct2.size(); j++) {
                HouseFloorRoom houseFloorRoom1 = distinct2.get(j);
                String houseFloor2 = houseFloorRoom1.getHouseFloor();
                String houseElement2 = houseFloorRoom1.getHouseElement();
                String houseRoom2 = houseFloorRoom1.getHouseRoom();
                if (houseFloor.equals(houseFloor2) && houseElement.equals(houseElement2) && houseRoom.equals(houseRoom2)) {
                    houseFloorRooms.add(houseFloorRoom);
                }
            }
        }
        return houseFloorRooms;
    }

  

posted on 2019-08-20 15:01  一念花开~  阅读(152)  评论(0)    收藏  举报