一个搜索列表的接口,要求列表展示出来:优先展示字数最少的,字数相同的情况下,按引用次数排序,引用次数相同的情况下,按字母排序,这个我看过es做过,但是es不会玩儿,还没到那个水准- -javaAPI应该怎么实现啊
4条回答 默认 最新
小秋Kaito 2022-08-05 16:17关注如果是你自己的需求需要实现一个有该功能的接口的话,调用需要排序的列表的sort方法,入参实现Comparator接口,重写里面的compare方法
// list是你要排序的对象的List(或其他集合) // 这里假设你要排序的对象是Book类 List<Book> list = new ArrayList<>(); // 填充数据...后用sort方法排序 list.sort(new Comparator<>() { @Override public int compare(Book o1, Book o2) { // 这里o1 o2对象需要跟你要排序的对象是同类 // 先按字母数量从小到大排序 if (o1.getWordNum() != o2.getWordNum()){ return o1.getWordNum() - o2.getWordNum(); } // 按引用次数从小到大排序 if (o1.getReferedTimes() != o2.getReferedTimes()){ return o1.getReferedTimes() - o2.getReferedTimes(); } // 按字母从小到大排序 return o1.getLetters() - o2.getLetters(); } });本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报