基础算法7:从数据库某个字段中取出现次数最多的几条数据形成“热门xxx”
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了基础算法7:从数据库某个字段中取出现次数最多的几条数据形成“热门xxx”,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2462字,纯文字阅读大概需要4分钟。
内容图文
![基础算法7:从数据库某个字段中取出现次数最多的几条数据形成“热门xxx”](/upload/InfoBanner/zyjiaocheng/464/e09c17ffccba42e4b618babb6a929c14.jpg)
在这里,我们需要查出所有的“出发城市”和“到达城市”,并对每个城市进行计数根据其出现次数来取出几个出现次数最多的城市为热门城市
注:将多个字段的数据合并在一起并且不经过去重处理,可以使用下面这个SQL语句:
select DEPARTURE_AIRPORT from USR_AIR_LINE union all select ARRIVAL_AIRPORT from USR_AIR_LINE;
(2)对取出的数据进行计数,排序以及求出最后的“热门城市”:
package cn.zifangsky.base; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Map.Entry; public class PopAirportDemo { public static void main(String[] args) throws Exception { // 读文件 BufferedReader reader = new BufferedReader( new FileReader(new File("C:/Users/Administrator/Desktop/airport.txt"))); String temp = ""; List<String> airportCodes = new ArrayList<String>(); // 城市三字码集合 while ((temp = reader.readLine()) != null) { airportCodes.add(temp); } reader.close(); Map<String, Integer> countMap = new HashMap<String, Integer>(); //<城市三字码,总次数> //遍历List形成<城市三字码,总次数>键值对 for (String code : airportCodes) { if (!countMap.containsKey(code)) { countMap.put(code, 1); } else { countMap.put(code, countMap.get(code) + 1); } } // 排序 List<Map.Entry<String, Integer>> list = new ArrayList<Map.Entry<String, Integer>>(countMap.entrySet()); Collections.sort(list, new Comparator<Map.Entry<String, Integer>>() { //自定义排序 public int compare(Entry<String, Integer> o1, Entry<String, Integer> o2) { return o2.getValue().compareTo(o1.getValue()); } }); List<String> result = new ArrayList<String>(); //热门城市集合 int point = 0; for (Map.Entry<String, Integer> mapping : list) { // System.out.println(mapping.getKey() + " -> " + // mapping.getValue()); result.add(mapping.getKey()); point++; //这里取5个热门城市 if (point >= 5) break; } System.out.println(result); } }
注:我这里为了简化操作,已经把所有的城市三字码保存到“airport.txt”这个文件中了,这里只专注于整个算法流程而不考虑JDBC等问题
本文出自 “zifangsky的个人博客” 博客,请务必保留此出处http://983836259.blog.51cto.com/7311475/1772447
基础算法7:从数据库某个字段中取出现次数最多的几条数据形成“热门xxx”
标签:热门 算法
本文系统来源:http://983836259.blog.51cto.com/7311475/1772447
内容总结
以上是互联网集市为您收集整理的基础算法7:从数据库某个字段中取出现次数最多的几条数据形成“热门xxx”全部内容,希望文章能够帮你解决基础算法7:从数据库某个字段中取出现次数最多的几条数据形成“热门xxx”所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。