关于java中Collections.sort()排序问题,求大神帮忙

public class Lock {
        private int lock;//   lock有两个值:0 unlock  ;  1  lock
        private String name;

        public int getLock() {
                return lock;
        }
        public void setLock(int lock) {
                this.lock = lock;
        }
        public String getName() {
                return name;
        }
        public void setName(String name) {
                this.name = name;
        }
}

public class Test{
        public static void main(String[] args) {
                List<Lock> list = getLockDao(参数);//从数据库中查询出所有Lock,并放在一个list里面
        }
}

现在我想要用Collections.sort()给这个list排序,当lock的值为0时,对应的数据排在前面,lock的值为1时,对应的数据排在后面,请问该怎么写,以上代码都固定了,不能更改,只能写比较函数,求大神指教

实现比较函数

 Collections.sort(list, new Comparator<Lock>() {

            @Override
            public int compare(Lock o1, Lock o2) {

                    return o1.getLock().compareTo(o2.getLock());

                    }

在实体上去实现comparable接口、