一个搜索列表的接口,要求列表展示出来:优先展示字数最少的,字数相同的情况下,按引用次数排序,引用次数相同的情况下,按字母排序,这个我看过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(); } });
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 如何解决ldsc的这条报错/index error
- ¥15 VS2022+WDK驱动开发环境
- ¥30 关于#java#的问题,请各位专家解答!
- ¥30 vue+element根据数据循环生成多个table,如何实现最后一列 平均分合并
- ¥20 pcf8563时钟芯片不启振
- ¥20 pip2.40更新pip2.43时报错
- ¥15 换yum源但仍然用不了httpd
- ¥50 C# 使用DEVMOD设置打印机首选项
- ¥15 麒麟V10 arm安装gdal
- ¥20 OPENVPN连接问题